TPTP Problem File: ITP128^2.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP128^2 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer Monomorphic_Monad problem prob_47__7041882_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : Monomorphic_Monad/prob_47__7041882_1 [Des21]

% Status   : Theorem
% Rating   : 0.33 v8.1.0, 0.25 v7.5.0
% Syntax   : Number of formulae    :  346 (  95 unt;  62 typ;   0 def)
%            Number of atoms       : 1001 ( 298 equ;  10 cnn)
%            Maximal formula atoms :   20 (   3 avg)
%            Number of connectives : 4591 (  18   ~;   1   |;  32   &;4155   @)
%                                         (   0 <=>; 385  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   25 (  11 avg)
%            Number of types       :    5 (   4 usr)
%            Number of type conns  : 1318 (1318   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   62 (  58 usr;   3 con; 0-8 aty)
%            Number of variables   : 1767 ( 254   ^;1412   !;  19   ?;1767   :)
%                                         (  82  !>;   0  ?*;   0  @-;   0  @+)
% SPC      : TH1_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 16:15:22.560
%------------------------------------------------------------------------------
% Could-be-implicit typings (7)
thf(ty_t_Multiset_Omultiset,type,
    multiset: $tType > $tType ).

thf(ty_t_FSet_Ofset,type,
    fset: $tType > $tType ).

thf(ty_t_Set_Oset,type,
    set: $tType > $tType ).

thf(ty_tf_d,type,
    d: $tType ).

thf(ty_tf_c,type,
    c: $tType ).

thf(ty_tf_b,type,
    b: $tType ).

thf(ty_tf_a,type,
    a: $tType ).

% Explicit typings (55)
thf(sy_cl_Orderings_Opreorder,type,
    preorder: 
      !>[A: $tType] : $o ).

thf(sy_cl_HOL_Otype,type,
    type: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oplus,type,
    plus: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Oorder,type,
    order: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ogroup__add,type,
    group_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Osemigroup__add,type,
    semigroup_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocomm__monoid__add,type,
    comm_monoid_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oab__semigroup__add,type,
    ab_semigroup_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Complete__Partial__Order_Occpo,type,
    comple1141879883l_ccpo: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocancel__semigroup__add,type,
    cancel_semigroup_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oordered__ab__semigroup__add,type,
    ordere779506340up_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Complete__Lattices_Ocomplete__lattice,type,
    comple187826305attice: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocanonically__ordered__monoid__add,type,
    canoni770627133id_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oordered__ab__semigroup__add__imp__le,type,
    ordere236663937imp_le: 
      !>[A: $tType] : $o ).

thf(sy_c_BNF__Def_Orel__fun,type,
    bNF_rel_fun: 
      !>[A: $tType,C: $tType,B: $tType,D: $tType] : ( ( A > C > $o ) > ( B > D > $o ) > ( A > B ) > ( C > D ) > $o ) ).

thf(sy_c_Complete__Partial__Order_Occpo__class_Ofixp,type,
    comple939513234o_fixp: 
      !>[A: $tType] : ( ( A > A ) > A ) ).

thf(sy_c_Complete__Partial__Order_Omonotone,type,
    comple1396247847notone: 
      !>[A: $tType,B: $tType] : ( ( A > A > $o ) > ( B > B > $o ) > ( A > B ) > $o ) ).

thf(sy_c_FSet_Offold,type,
    ffold: 
      !>[A: $tType,B: $tType] : ( ( A > B > B ) > B > ( fset @ A ) > B ) ).

thf(sy_c_Finite__Set_Ocomp__fun__commute,type,
    finite100568337ommute: 
      !>[A: $tType,B: $tType] : ( ( A > B > B ) > $o ) ).

thf(sy_c_Finite__Set_Ocomp__fun__idem,type,
    finite_comp_fun_idem: 
      !>[A: $tType,B: $tType] : ( ( A > B > B ) > $o ) ).

thf(sy_c_Finite__Set_Ocomp__fun__idem__axioms,type,
    finite852775215axioms: 
      !>[A: $tType,B: $tType] : ( ( A > B > B ) > $o ) ).

thf(sy_c_Finite__Set_Ofold__graph,type,
    finite_fold_graph: 
      !>[A: $tType,B: $tType] : ( ( A > B > B ) > B > ( set @ A ) > B > $o ) ).

thf(sy_c_Finite__Set_Ofolding,type,
    finite_folding: 
      !>[A: $tType,B: $tType] : ( ( A > B > B ) > $o ) ).

thf(sy_c_Finite__Set_Ofolding__idem,type,
    finite_folding_idem: 
      !>[A: $tType,B: $tType] : ( ( A > B > B ) > $o ) ).

thf(sy_c_Finite__Set_Ofolding__idem__axioms,type,
    finite1921348288axioms: 
      !>[A: $tType,B: $tType] : ( ( A > B > B ) > $o ) ).

thf(sy_c_Fun_Ocomp,type,
    comp: 
      !>[B: $tType,C: $tType,A: $tType] : ( ( B > C ) > ( A > B ) > A > C ) ).

thf(sy_c_Fun_Ofun__upd,type,
    fun_upd: 
      !>[A: $tType,B: $tType] : ( ( A > B ) > A > B > A > B ) ).

thf(sy_c_Fun_Omap__fun,type,
    map_fun: 
      !>[C: $tType,A: $tType,B: $tType,D: $tType] : ( ( C > A ) > ( B > D ) > ( A > B ) > C > D ) ).

thf(sy_c_Groups_Oplus__class_Oplus,type,
    plus_plus: 
      !>[A: $tType] : ( A > A > A ) ).

thf(sy_c_If,type,
    if: 
      !>[A: $tType] : ( $o > A > A > A ) ).

thf(sy_c_Multiset_Ofold__mset,type,
    fold_mset: 
      !>[A: $tType,B: $tType] : ( ( A > B > B ) > B > ( multiset @ A ) > B ) ).

thf(sy_c_Orderings_Oord__class_Oless__eq,type,
    ord_less_eq: 
      !>[A: $tType] : ( A > A > $o ) ).

thf(sy_c_Orderings_Oorder__class_Omono,type,
    order_mono: 
      !>[A: $tType,B: $tType] : ( ( A > B ) > $o ) ).

thf(sy_c_Partial__Function_Ofun__ord,type,
    partial_fun_ord: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > $o ) > ( C > A ) > ( C > B ) > $o ) ).

thf(sy_c_Quotient_OBex1__rel,type,
    bex1_rel: 
      !>[A: $tType] : ( ( A > A > $o ) > ( A > $o ) > $o ) ).

thf(sy_c_Quotient_OQuotient3,type,
    quotient3: 
      !>[A: $tType,B: $tType] : ( ( A > A > $o ) > ( A > B ) > ( B > A ) > $o ) ).

thf(sy_c_Relation_ODomainp,type,
    domainp: 
      !>[A: $tType,B: $tType] : ( ( A > B > $o ) > A > $o ) ).

thf(sy_c_Relation_Oreflp,type,
    reflp: 
      !>[A: $tType] : ( ( A > A > $o ) > $o ) ).

thf(sy_c_Relation_Orelcompp,type,
    relcompp: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > $o ) > ( B > C > $o ) > A > C > $o ) ).

thf(sy_c_Set_OCollect,type,
    collect: 
      !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).

thf(sy_c_Transfer_Obi__total,type,
    bi_total: 
      !>[A: $tType,B: $tType] : ( ( A > B > $o ) > $o ) ).

thf(sy_c_Transfer_Obi__unique,type,
    bi_unique: 
      !>[A: $tType,B: $tType] : ( ( A > B > $o ) > $o ) ).

thf(sy_c_Transfer_Oleft__total,type,
    left_total: 
      !>[A: $tType,B: $tType] : ( ( A > B > $o ) > $o ) ).

thf(sy_c_Transfer_Oleft__unique,type,
    left_unique: 
      !>[A: $tType,B: $tType] : ( ( A > B > $o ) > $o ) ).

thf(sy_c_Transfer_Orev__implies,type,
    rev_implies: $o > $o > $o ).

thf(sy_c_Transfer_Oright__total,type,
    right_total: 
      !>[A: $tType,B: $tType] : ( ( A > B > $o ) > $o ) ).

thf(sy_c_Transfer_Oright__unique,type,
    right_unique: 
      !>[A: $tType,B: $tType] : ( ( A > B > $o ) > $o ) ).

thf(sy_c_Transfer_Otransfer__bforall,type,
    transfer_bforall: 
      !>[A: $tType] : ( ( A > $o ) > ( A > $o ) > $o ) ).

thf(sy_c_Transfer_Otransfer__forall,type,
    transfer_forall: 
      !>[A: $tType] : ( ( A > $o ) > $o ) ).

thf(sy_c_Transitive__Closure_Ortranclp,type,
    transitive_rtranclp: 
      !>[A: $tType] : ( ( A > A > $o ) > A > A > $o ) ).

thf(sy_c_member,type,
    member: 
      !>[A: $tType] : ( A > ( set @ A ) > $o ) ).

thf(sy_v_A,type,
    a2: a > b > $o ).

thf(sy_v_B,type,
    b2: c > d > $o ).

thf(sy_v_f1,type,
    f1: a > c > c ).

thf(sy_v_f2,type,
    f2: b > d > d ).

% Relevant facts (256)
thf(fact_0_assms_I2_J,axiom,
    finite100568337ommute @ a @ c @ f1 ).

% assms(2)
thf(fact_1_comp__fun__commute_Ofun__left__comm,axiom,
    ! [A: $tType,B: $tType,F: A > B > B,Y: A,X: A,Z: B] :
      ( ( finite100568337ommute @ A @ B @ F )
     => ( ( F @ Y @ ( F @ X @ Z ) )
        = ( F @ X @ ( F @ Y @ Z ) ) ) ) ).

% comp_fun_commute.fun_left_comm
thf(fact_2_assms_I3_J,axiom,
    finite100568337ommute @ b @ d @ f2 ).

% assms(3)
thf(fact_3__C12_C,axiom,
    bNF_rel_fun @ a @ b @ ( c > c ) @ ( d > d ) @ a2 @ ( bNF_rel_fun @ c @ d @ c @ d @ b2 @ b2 ) @ f1 @ f2 ).

% "12"
thf(fact_4_comp__fun__commute_Ofold__mset__fusion,axiom,
    ! [C: $tType,B: $tType,A: $tType,F: A > B > B,G: A > C > C,H: C > B,W: C,A2: multiset @ A] :
      ( ( finite100568337ommute @ A @ B @ F )
     => ( ( finite100568337ommute @ A @ C @ G )
       => ( ! [X2: A,Y2: C] :
              ( ( H @ ( G @ X2 @ Y2 ) )
              = ( F @ X2 @ ( H @ Y2 ) ) )
         => ( ( H @ ( fold_mset @ A @ C @ G @ W @ A2 ) )
            = ( fold_mset @ A @ B @ F @ ( H @ W ) @ A2 ) ) ) ) ) ).

% comp_fun_commute.fold_mset_fusion
thf(fact_5_comp__fun__commute_Ofold__mset__fun__left__comm,axiom,
    ! [B: $tType,A: $tType,F: A > B > B,X: A,S: B,M: multiset @ A] :
      ( ( finite100568337ommute @ A @ B @ F )
     => ( ( F @ X @ ( fold_mset @ A @ B @ F @ S @ M ) )
        = ( fold_mset @ A @ B @ F @ ( F @ X @ S ) @ M ) ) ) ).

% comp_fun_commute.fold_mset_fun_left_comm
thf(fact_6_comp__fun__idem_Oaxioms_I1_J,axiom,
    ! [B: $tType,A: $tType,F: A > B > B] :
      ( ( finite_comp_fun_idem @ A @ B @ F )
     => ( finite100568337ommute @ A @ B @ F ) ) ).

% comp_fun_idem.axioms(1)
thf(fact_7_comp__fun__commute_Ofold__graph__determ,axiom,
    ! [A: $tType,B: $tType,F: A > B > B,Z: B,A2: set @ A,X: B,Y: B] :
      ( ( finite100568337ommute @ A @ B @ F )
     => ( ( finite_fold_graph @ A @ B @ F @ Z @ A2 @ X )
       => ( ( finite_fold_graph @ A @ B @ F @ Z @ A2 @ Y )
         => ( Y = X ) ) ) ) ).

% comp_fun_commute.fold_graph_determ
thf(fact_8_comp__fun__commute_Offold__fun__left__comm,axiom,
    ! [B: $tType,A: $tType,F: A > B > B,X: A,Z: B,A2: fset @ A] :
      ( ( finite100568337ommute @ A @ B @ F )
     => ( ( F @ X @ ( ffold @ A @ B @ F @ Z @ A2 ) )
        = ( ffold @ A @ B @ F @ ( F @ X @ Z ) @ A2 ) ) ) ).

% comp_fun_commute.ffold_fun_left_comm
thf(fact_9_comp__fun__commute_Ocomp__comp__fun__commute,axiom,
    ! [B: $tType,A: $tType,C: $tType,F: A > B > B,G: C > A] :
      ( ( finite100568337ommute @ A @ B @ F )
     => ( finite100568337ommute @ C @ B @ ( comp @ A @ ( B > B ) @ C @ F @ G ) ) ) ).

% comp_fun_commute.comp_comp_fun_commute
thf(fact_10_comp__fun__commute__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( finite100568337ommute @ A @ B )
      = ( ^ [F2: A > B > B] :
          ! [Y3: A,X3: A] :
            ( ( comp @ B @ B @ B @ ( F2 @ Y3 ) @ ( F2 @ X3 ) )
            = ( comp @ B @ B @ B @ ( F2 @ X3 ) @ ( F2 @ Y3 ) ) ) ) ) ).

% comp_fun_commute_def
thf(fact_11_comp__fun__commute_Ointro,axiom,
    ! [B: $tType,A: $tType,F: A > B > B] :
      ( ! [Y2: A,X2: A] :
          ( ( comp @ B @ B @ B @ ( F @ Y2 ) @ ( F @ X2 ) )
          = ( comp @ B @ B @ B @ ( F @ X2 ) @ ( F @ Y2 ) ) )
     => ( finite100568337ommute @ A @ B @ F ) ) ).

% comp_fun_commute.intro
thf(fact_12_comp__fun__commute_Ocomp__fun__commute,axiom,
    ! [B: $tType,A: $tType,F: A > B > B,Y: A,X: A] :
      ( ( finite100568337ommute @ A @ B @ F )
     => ( ( comp @ B @ B @ B @ ( F @ Y ) @ ( F @ X ) )
        = ( comp @ B @ B @ B @ ( F @ X ) @ ( F @ Y ) ) ) ) ).

% comp_fun_commute.comp_fun_commute
thf(fact_13_fold__graph__closed__eq,axiom,
    ! [B: $tType,A: $tType,A2: set @ A,B2: set @ B,F: A > B > B,G: A > B > B,Z: B] :
      ( ! [A3: A,B3: B] :
          ( ( member @ A @ A3 @ A2 )
         => ( ( member @ B @ B3 @ B2 )
           => ( ( F @ A3 @ B3 )
              = ( G @ A3 @ B3 ) ) ) )
     => ( ! [A3: A,B3: B] :
            ( ( member @ A @ A3 @ A2 )
           => ( ( member @ B @ B3 @ B2 )
             => ( member @ B @ ( G @ A3 @ B3 ) @ B2 ) ) )
       => ( ( member @ B @ Z @ B2 )
         => ( ( finite_fold_graph @ A @ B @ F @ Z @ A2 )
            = ( finite_fold_graph @ A @ B @ G @ Z @ A2 ) ) ) ) ) ).

% fold_graph_closed_eq
thf(fact_14_fold__graph__closed__lemma,axiom,
    ! [A: $tType,B: $tType,G: A > B > B,Z: B,A2: set @ A,X: B,B2: set @ B,F: A > B > B] :
      ( ( finite_fold_graph @ A @ B @ G @ Z @ A2 @ X )
     => ( ! [A3: A,B3: B] :
            ( ( member @ A @ A3 @ A2 )
           => ( ( member @ B @ B3 @ B2 )
             => ( ( F @ A3 @ B3 )
                = ( G @ A3 @ B3 ) ) ) )
       => ( ! [A3: A,B3: B] :
              ( ( member @ A @ A3 @ A2 )
             => ( ( member @ B @ B3 @ B2 )
               => ( member @ B @ ( G @ A3 @ B3 ) @ B2 ) ) )
         => ( ( member @ B @ Z @ B2 )
           => ( ( finite_fold_graph @ A @ B @ F @ Z @ A2 @ X )
              & ( member @ B @ X @ B2 ) ) ) ) ) ) ).

% fold_graph_closed_lemma
thf(fact_15_comp__fun__idem_Ocomp__fun__idem,axiom,
    ! [B: $tType,A: $tType,F: A > B > B,X: A] :
      ( ( finite_comp_fun_idem @ A @ B @ F )
     => ( ( comp @ B @ B @ B @ ( F @ X ) @ ( F @ X ) )
        = ( F @ X ) ) ) ).

% comp_fun_idem.comp_fun_idem
thf(fact_16_comp__fun__idem_Ofun__left__idem,axiom,
    ! [A: $tType,B: $tType,F: A > B > B,X: A,Z: B] :
      ( ( finite_comp_fun_idem @ A @ B @ F )
     => ( ( F @ X @ ( F @ X @ Z ) )
        = ( F @ X @ Z ) ) ) ).

% comp_fun_idem.fun_left_idem
thf(fact_17_comp__fun__idem_Ocomp__comp__fun__idem,axiom,
    ! [B: $tType,A: $tType,C: $tType,F: A > B > B,G: C > A] :
      ( ( finite_comp_fun_idem @ A @ B @ F )
     => ( finite_comp_fun_idem @ C @ B @ ( comp @ A @ ( B > B ) @ C @ F @ G ) ) ) ).

% comp_fun_idem.comp_comp_fun_idem
thf(fact_18_comp__fun__commute_Ocommute__left__comp,axiom,
    ! [A: $tType,B: $tType,C: $tType,F: A > B > B,Y: A,X: A,G: C > B] :
      ( ( finite100568337ommute @ A @ B @ F )
     => ( ( comp @ B @ B @ C @ ( F @ Y ) @ ( comp @ B @ B @ C @ ( F @ X ) @ G ) )
        = ( comp @ B @ B @ C @ ( F @ X ) @ ( comp @ B @ B @ C @ ( F @ Y ) @ G ) ) ) ) ).

% comp_fun_commute.commute_left_comp
thf(fact_19_comp__apply,axiom,
    ! [C: $tType,A: $tType,B: $tType] :
      ( ( comp @ B @ A @ C )
      = ( ^ [F2: B > A,G2: C > B,X3: C] : ( F2 @ ( G2 @ X3 ) ) ) ) ).

% comp_apply
thf(fact_20_rel__funI,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o,F: A > C,G: B > D] :
      ( ! [X2: A,Y2: B] :
          ( ( A2 @ X2 @ Y2 )
         => ( B2 @ ( F @ X2 ) @ ( G @ Y2 ) ) )
     => ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 @ F @ G ) ) ).

% rel_funI
thf(fact_21_If__transfer,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( bNF_rel_fun @ $o @ $o @ ( A > A > A ) @ ( B > B > B )
      @ ^ [Y4: $o,Z2: $o] : Y4 = Z2
      @ ( bNF_rel_fun @ A @ B @ ( A > A ) @ ( B > B ) @ A2 @ ( bNF_rel_fun @ A @ B @ A @ B @ A2 @ A2 ) )
      @ ( if @ A )
      @ ( if @ B ) ) ).

% If_transfer
thf(fact_22_rel__fun__def__butlast,axiom,
    ! [B: $tType,D: $tType,C: $tType,E: $tType,F3: $tType,A: $tType,R: A > B > $o,S2: C > E > $o,T: D > F3 > $o,F: A > C > D,G: B > E > F3] :
      ( ( bNF_rel_fun @ A @ B @ ( C > D ) @ ( E > F3 ) @ R @ ( bNF_rel_fun @ C @ E @ D @ F3 @ S2 @ T ) @ F @ G )
      = ( ! [X3: A,Y3: B] :
            ( ( R @ X3 @ Y3 )
           => ( bNF_rel_fun @ C @ E @ D @ F3 @ S2 @ T @ ( F @ X3 ) @ ( G @ Y3 ) ) ) ) ) ).

% rel_fun_def_butlast
thf(fact_23_o__rsp_I2_J,axiom,
    ! [E: $tType,F3: $tType,H2: $tType,G3: $tType,R1: E > F3 > $o] :
      ( bNF_rel_fun @ ( G3 > H2 ) @ ( G3 > H2 ) @ ( ( E > G3 ) > E > H2 ) @ ( ( F3 > G3 ) > F3 > H2 )
      @ ^ [Y4: G3 > H2,Z2: G3 > H2] : Y4 = Z2
      @ ( bNF_rel_fun @ ( E > G3 ) @ ( F3 > G3 ) @ ( E > H2 ) @ ( F3 > H2 )
        @ ( bNF_rel_fun @ E @ F3 @ G3 @ G3 @ R1
          @ ^ [Y4: G3,Z2: G3] : Y4 = Z2 )
        @ ( bNF_rel_fun @ E @ F3 @ H2 @ H2 @ R1
          @ ^ [Y4: H2,Z2: H2] : Y4 = Z2 ) )
      @ ( comp @ G3 @ H2 @ E )
      @ ( comp @ G3 @ H2 @ F3 ) ) ).

% o_rsp(2)
thf(fact_24_o__rsp_I1_J,axiom,
    ! [A: $tType,B: $tType,E: $tType,F3: $tType,D: $tType,C: $tType,R2: A > C > $o,R3: B > D > $o,R1: E > F3 > $o] : ( bNF_rel_fun @ ( A > B ) @ ( C > D ) @ ( ( E > A ) > E > B ) @ ( ( F3 > C ) > F3 > D ) @ ( bNF_rel_fun @ A @ C @ B @ D @ R2 @ R3 ) @ ( bNF_rel_fun @ ( E > A ) @ ( F3 > C ) @ ( E > B ) @ ( F3 > D ) @ ( bNF_rel_fun @ E @ F3 @ A @ C @ R1 @ R2 ) @ ( bNF_rel_fun @ E @ F3 @ B @ D @ R1 @ R3 ) ) @ ( comp @ A @ B @ E ) @ ( comp @ C @ D @ F3 ) ) ).

% o_rsp(1)
thf(fact_25_fun_Omap__transfer,axiom,
    ! [A: $tType,B: $tType,D: $tType,G3: $tType,F3: $tType,Rb: A > F3 > $o,Sd: B > G3 > $o] :
      ( bNF_rel_fun @ ( A > B ) @ ( F3 > G3 ) @ ( ( D > A ) > D > B ) @ ( ( D > F3 ) > D > G3 ) @ ( bNF_rel_fun @ A @ F3 @ B @ G3 @ Rb @ Sd )
      @ ( bNF_rel_fun @ ( D > A ) @ ( D > F3 ) @ ( D > B ) @ ( D > G3 )
        @ ( bNF_rel_fun @ D @ D @ A @ F3
          @ ^ [Y4: D,Z2: D] : Y4 = Z2
          @ Rb )
        @ ( bNF_rel_fun @ D @ D @ B @ G3
          @ ^ [Y4: D,Z2: D] : Y4 = Z2
          @ Sd ) )
      @ ( comp @ A @ B @ D )
      @ ( comp @ F3 @ G3 @ D ) ) ).

% fun.map_transfer
thf(fact_26_comp__transfer,axiom,
    ! [A: $tType,B: $tType,E: $tType,F3: $tType,D: $tType,C: $tType,B2: A > C > $o,C2: B > D > $o,A2: E > F3 > $o] : ( bNF_rel_fun @ ( A > B ) @ ( C > D ) @ ( ( E > A ) > E > B ) @ ( ( F3 > C ) > F3 > D ) @ ( bNF_rel_fun @ A @ C @ B @ D @ B2 @ C2 ) @ ( bNF_rel_fun @ ( E > A ) @ ( F3 > C ) @ ( E > B ) @ ( F3 > D ) @ ( bNF_rel_fun @ E @ F3 @ A @ C @ A2 @ B2 ) @ ( bNF_rel_fun @ E @ F3 @ B @ D @ A2 @ C2 ) ) @ ( comp @ A @ B @ E ) @ ( comp @ C @ D @ F3 ) ) ).

% comp_transfer
thf(fact_27_comp__fun__idem_Ointro,axiom,
    ! [B: $tType,A: $tType,F: A > B > B] :
      ( ( finite100568337ommute @ A @ B @ F )
     => ( ( finite852775215axioms @ A @ B @ F )
       => ( finite_comp_fun_idem @ A @ B @ F ) ) ) ).

% comp_fun_idem.intro
thf(fact_28_comp__fun__idem__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( finite_comp_fun_idem @ A @ B )
      = ( ^ [F2: A > B > B] :
            ( ( finite100568337ommute @ A @ B @ F2 )
            & ( finite852775215axioms @ A @ B @ F2 ) ) ) ) ).

% comp_fun_idem_def
thf(fact_29_comp__fun__idem_Oaxioms_I2_J,axiom,
    ! [B: $tType,A: $tType,F: A > B > B] :
      ( ( finite_comp_fun_idem @ A @ B @ F )
     => ( finite852775215axioms @ A @ B @ F ) ) ).

% comp_fun_idem.axioms(2)
thf(fact_30_comp__fun__idem__axioms_Ointro,axiom,
    ! [B: $tType,A: $tType,F: A > B > B] :
      ( ! [X2: A] :
          ( ( comp @ B @ B @ B @ ( F @ X2 ) @ ( F @ X2 ) )
          = ( F @ X2 ) )
     => ( finite852775215axioms @ A @ B @ F ) ) ).

% comp_fun_idem_axioms.intro
thf(fact_31_comp__fun__idem__axioms__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( finite852775215axioms @ A @ B )
      = ( ^ [F2: A > B > B] :
          ! [X3: A] :
            ( ( comp @ B @ B @ B @ ( F2 @ X3 ) @ ( F2 @ X3 ) )
            = ( F2 @ X3 ) ) ) ) ).

% comp_fun_idem_axioms_def
thf(fact_32_fun_Orel__transfer,axiom,
    ! [B: $tType,A: $tType,C: $tType,E: $tType,D: $tType,Sa: A > C > $o,Sc: B > E > $o] :
      ( bNF_rel_fun @ ( A > B > $o ) @ ( C > E > $o ) @ ( ( D > A ) > ( D > B ) > $o ) @ ( ( D > C ) > ( D > E ) > $o )
      @ ( bNF_rel_fun @ A @ C @ ( B > $o ) @ ( E > $o ) @ Sa
        @ ( bNF_rel_fun @ B @ E @ $o @ $o @ Sc
          @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
      @ ( bNF_rel_fun @ ( D > A ) @ ( D > C ) @ ( ( D > B ) > $o ) @ ( ( D > E ) > $o )
        @ ( bNF_rel_fun @ D @ D @ A @ C
          @ ^ [Y4: D,Z2: D] : Y4 = Z2
          @ Sa )
        @ ( bNF_rel_fun @ ( D > B ) @ ( D > E ) @ $o @ $o
          @ ( bNF_rel_fun @ D @ D @ B @ E
            @ ^ [Y4: D,Z2: D] : Y4 = Z2
            @ Sc )
          @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
      @ ( bNF_rel_fun @ D @ D @ A @ B
        @ ^ [Y4: D,Z2: D] : Y4 = Z2 )
      @ ( bNF_rel_fun @ D @ D @ C @ E
        @ ^ [Y4: D,Z2: D] : Y4 = Z2 ) ) ).

% fun.rel_transfer
thf(fact_33_fun_Orel__refl,axiom,
    ! [B: $tType,D: $tType,Ra: B > B > $o,X: D > B] :
      ( ! [X2: B] : ( Ra @ X2 @ X2 )
     => ( bNF_rel_fun @ D @ D @ B @ B
        @ ^ [Y4: D,Z2: D] : Y4 = Z2
        @ Ra
        @ X
        @ X ) ) ).

% fun.rel_refl
thf(fact_34_fun_Orel__eq,axiom,
    ! [A: $tType,D: $tType] :
      ( ( bNF_rel_fun @ D @ D @ A @ A
        @ ^ [Y4: D,Z2: D] : Y4 = Z2
        @ ^ [Y4: A,Z2: A] : Y4 = Z2 )
      = ( ^ [Y4: D > A,Z2: D > A] : Y4 = Z2 ) ) ).

% fun.rel_eq
thf(fact_35_rel__fun__mono_H,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,Y5: A > B > $o,X4: A > B > $o,A2: C > D > $o,B2: C > D > $o,F: A > C,G: B > D] :
      ( ! [X2: A,Y2: B] :
          ( ( Y5 @ X2 @ Y2 )
         => ( X4 @ X2 @ Y2 ) )
     => ( ! [X2: C,Y2: D] :
            ( ( A2 @ X2 @ Y2 )
           => ( B2 @ X2 @ Y2 ) )
       => ( ( bNF_rel_fun @ A @ B @ C @ D @ X4 @ A2 @ F @ G )
         => ( bNF_rel_fun @ A @ B @ C @ D @ Y5 @ B2 @ F @ G ) ) ) ) ).

% rel_fun_mono'
thf(fact_36_rel__fun__mono,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,X4: A > B > $o,A2: C > D > $o,F: A > C,G: B > D,Y5: A > B > $o,B2: C > D > $o] :
      ( ( bNF_rel_fun @ A @ B @ C @ D @ X4 @ A2 @ F @ G )
     => ( ! [X2: A,Y2: B] :
            ( ( Y5 @ X2 @ Y2 )
           => ( X4 @ X2 @ Y2 ) )
       => ( ! [X2: C,Y2: D] :
              ( ( A2 @ X2 @ Y2 )
             => ( B2 @ X2 @ Y2 ) )
         => ( bNF_rel_fun @ A @ B @ C @ D @ Y5 @ B2 @ F @ G ) ) ) ) ).

% rel_fun_mono
thf(fact_37_let__rsp,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,R1: A > B > $o,R2: C > D > $o] :
      ( bNF_rel_fun @ A @ B @ ( ( A > C ) > C ) @ ( ( B > D ) > D ) @ R1 @ ( bNF_rel_fun @ ( A > C ) @ ( B > D ) @ C @ D @ ( bNF_rel_fun @ A @ B @ C @ D @ R1 @ R2 ) @ R2 )
      @ ^ [S3: A,F2: A > C] : ( F2 @ S3 )
      @ ^ [S3: B,F2: B > D] : ( F2 @ S3 ) ) ).

% let_rsp
thf(fact_38_rel__funD,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o,F: A > C,G: B > D,X: A,Y: B] :
      ( ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 @ F @ G )
     => ( ( A2 @ X @ Y )
       => ( B2 @ ( F @ X ) @ ( G @ Y ) ) ) ) ).

% rel_funD
thf(fact_39_rewriteR__comp__comp2,axiom,
    ! [C: $tType,B: $tType,E: $tType,D: $tType,A: $tType,G: C > B,H: A > C,R12: D > B,R22: A > D,F: B > E,L: D > E] :
      ( ( ( comp @ C @ B @ A @ G @ H )
        = ( comp @ D @ B @ A @ R12 @ R22 ) )
     => ( ( ( comp @ B @ E @ D @ F @ R12 )
          = L )
       => ( ( comp @ C @ E @ A @ ( comp @ B @ E @ C @ F @ G ) @ H )
          = ( comp @ D @ E @ A @ L @ R22 ) ) ) ) ).

% rewriteR_comp_comp2
thf(fact_40_rewriteL__comp__comp2,axiom,
    ! [A: $tType,C: $tType,B: $tType,D: $tType,E: $tType,F: C > B,G: A > C,L1: D > B,L2: A > D,H: E > A,R4: E > D] :
      ( ( ( comp @ C @ B @ A @ F @ G )
        = ( comp @ D @ B @ A @ L1 @ L2 ) )
     => ( ( ( comp @ A @ D @ E @ L2 @ H )
          = R4 )
       => ( ( comp @ C @ B @ E @ F @ ( comp @ A @ C @ E @ G @ H ) )
          = ( comp @ D @ B @ E @ L1 @ R4 ) ) ) ) ).

% rewriteL_comp_comp2
thf(fact_41_rewriteR__comp__comp,axiom,
    ! [C: $tType,D: $tType,B: $tType,A: $tType,G: C > B,H: A > C,R4: A > B,F: B > D] :
      ( ( ( comp @ C @ B @ A @ G @ H )
        = R4 )
     => ( ( comp @ C @ D @ A @ ( comp @ B @ D @ C @ F @ G ) @ H )
        = ( comp @ B @ D @ A @ F @ R4 ) ) ) ).

% rewriteR_comp_comp
thf(fact_42_rewriteL__comp__comp,axiom,
    ! [C: $tType,B: $tType,A: $tType,D: $tType,F: C > B,G: A > C,L: A > B,H: D > A] :
      ( ( ( comp @ C @ B @ A @ F @ G )
        = L )
     => ( ( comp @ C @ B @ D @ F @ ( comp @ A @ C @ D @ G @ H ) )
        = ( comp @ A @ B @ D @ L @ H ) ) ) ).

% rewriteL_comp_comp
thf(fact_43_fun_Omap__comp,axiom,
    ! [B: $tType,C: $tType,A: $tType,D: $tType,G: B > C,F: A > B,V: D > A] :
      ( ( comp @ B @ C @ D @ G @ ( comp @ A @ B @ D @ F @ V ) )
      = ( comp @ A @ C @ D @ ( comp @ B @ C @ A @ G @ F ) @ V ) ) ).

% fun.map_comp
thf(fact_44_comp__apply__eq,axiom,
    ! [B: $tType,D: $tType,A: $tType,C: $tType,F: B > A,G: C > B,X: C,H: D > A,K: C > D] :
      ( ( ( F @ ( G @ X ) )
        = ( H @ ( K @ X ) ) )
     => ( ( comp @ B @ A @ C @ F @ G @ X )
        = ( comp @ D @ A @ C @ H @ K @ X ) ) ) ).

% comp_apply_eq
thf(fact_45_mem__Collect__eq,axiom,
    ! [A: $tType,A4: A,P: A > $o] :
      ( ( member @ A @ A4 @ ( collect @ A @ P ) )
      = ( P @ A4 ) ) ).

% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
    ! [A: $tType,A2: set @ A] :
      ( ( collect @ A
        @ ^ [X3: A] : ( member @ A @ X3 @ A2 ) )
      = A2 ) ).

% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ! [X2: A] :
          ( ( P @ X2 )
          = ( Q @ X2 ) )
     => ( ( collect @ A @ P )
        = ( collect @ A @ Q ) ) ) ).

% Collect_cong
thf(fact_48_ext,axiom,
    ! [B: $tType,A: $tType,F: A > B,G: A > B] :
      ( ! [X2: A] :
          ( ( F @ X2 )
          = ( G @ X2 ) )
     => ( F = G ) ) ).

% ext
thf(fact_49_comp__eq__dest__lhs,axiom,
    ! [C: $tType,B: $tType,A: $tType,A4: C > B,B4: A > C,C3: A > B,V: A] :
      ( ( ( comp @ C @ B @ A @ A4 @ B4 )
        = C3 )
     => ( ( A4 @ ( B4 @ V ) )
        = ( C3 @ V ) ) ) ).

% comp_eq_dest_lhs
thf(fact_50_comp__eq__elim,axiom,
    ! [C: $tType,B: $tType,D: $tType,A: $tType,A4: C > B,B4: A > C,C3: D > B,D2: A > D] :
      ( ( ( comp @ C @ B @ A @ A4 @ B4 )
        = ( comp @ D @ B @ A @ C3 @ D2 ) )
     => ! [V2: A] :
          ( ( A4 @ ( B4 @ V2 ) )
          = ( C3 @ ( D2 @ V2 ) ) ) ) ).

% comp_eq_elim
thf(fact_51_comp__eq__dest,axiom,
    ! [C: $tType,B: $tType,D: $tType,A: $tType,A4: C > B,B4: A > C,C3: D > B,D2: A > D,V: A] :
      ( ( ( comp @ C @ B @ A @ A4 @ B4 )
        = ( comp @ D @ B @ A @ C3 @ D2 ) )
     => ( ( A4 @ ( B4 @ V ) )
        = ( C3 @ ( D2 @ V ) ) ) ) ).

% comp_eq_dest
thf(fact_52_comp__assoc,axiom,
    ! [B: $tType,D: $tType,C: $tType,A: $tType,F: D > B,G: C > D,H: A > C] :
      ( ( comp @ C @ B @ A @ ( comp @ D @ B @ C @ F @ G ) @ H )
      = ( comp @ D @ B @ A @ F @ ( comp @ C @ D @ A @ G @ H ) ) ) ).

% comp_assoc
thf(fact_53_comp__def,axiom,
    ! [A: $tType,C: $tType,B: $tType] :
      ( ( comp @ B @ C @ A )
      = ( ^ [F2: B > C,G2: A > B,X3: A] : ( F2 @ ( G2 @ X3 ) ) ) ) ).

% comp_def
thf(fact_54_Let__transfer,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( bNF_rel_fun @ A @ B @ ( ( A > C ) > C ) @ ( ( B > D ) > D ) @ A2 @ ( bNF_rel_fun @ ( A > C ) @ ( B > D ) @ C @ D @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) @ B2 )
      @ ^ [S3: A,F2: A > C] : ( F2 @ S3 )
      @ ^ [S3: B,F2: B > D] : ( F2 @ S3 ) ) ).

% Let_transfer
thf(fact_55_type__copy__map__cong0,axiom,
    ! [B: $tType,D: $tType,E: $tType,A: $tType,C: $tType,M: B > A,G: C > B,X: C,N: D > A,H: C > D,F: A > E] :
      ( ( ( M @ ( G @ X ) )
        = ( N @ ( H @ X ) ) )
     => ( ( comp @ B @ E @ C @ ( comp @ A @ E @ B @ F @ M ) @ G @ X )
        = ( comp @ D @ E @ C @ ( comp @ A @ E @ D @ F @ N ) @ H @ X ) ) ) ).

% type_copy_map_cong0
thf(fact_56_function__factors__right,axiom,
    ! [C: $tType,B: $tType,A: $tType,G: B > C,F: A > C] :
      ( ( ! [X3: A] :
          ? [Y3: B] :
            ( ( G @ Y3 )
            = ( F @ X3 ) ) )
      = ( ? [H3: A > B] :
            ( F
            = ( comp @ B @ C @ A @ G @ H3 ) ) ) ) ).

% function_factors_right
thf(fact_57_function__factors__left,axiom,
    ! [A: $tType,C: $tType,B: $tType,G: A > B,F: A > C] :
      ( ( ! [X3: A,Y3: A] :
            ( ( ( G @ X3 )
              = ( G @ Y3 ) )
           => ( ( F @ X3 )
              = ( F @ Y3 ) ) ) )
      = ( ? [H3: B > C] :
            ( F
            = ( comp @ B @ C @ A @ H3 @ G ) ) ) ) ).

% function_factors_left
thf(fact_58_comp__cong,axiom,
    ! [C: $tType,B: $tType,D: $tType,A: $tType,E: $tType,F: B > A,G: C > B,X: C,F4: D > A,G4: E > D,X5: E] :
      ( ( ( F @ ( G @ X ) )
        = ( F4 @ ( G4 @ X5 ) ) )
     => ( ( comp @ B @ A @ C @ F @ G @ X )
        = ( comp @ D @ A @ E @ F4 @ G4 @ X5 ) ) ) ).

% comp_cong
thf(fact_59_if__rsp,axiom,
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( bNF_rel_fun @ $o @ $o @ ( A > A > A ) @ ( A > A > A )
        @ ^ [Y4: $o,Z2: $o] : Y4 = Z2
        @ ( bNF_rel_fun @ A @ A @ ( A > A ) @ ( A > A ) @ R @ ( bNF_rel_fun @ A @ A @ A @ A @ R @ R ) )
        @ ( if @ A )
        @ ( if @ A ) ) ) ).

% if_rsp
thf(fact_60_rel__funD2,axiom,
    ! [B: $tType,C: $tType,A: $tType,A2: A > A > $o,B2: B > C > $o,F: A > B,G: A > C,X: A] :
      ( ( bNF_rel_fun @ A @ A @ B @ C @ A2 @ B2 @ F @ G )
     => ( ( A2 @ X @ X )
       => ( B2 @ ( F @ X ) @ ( G @ X ) ) ) ) ).

% rel_funD2
thf(fact_61_apply__rsp_H,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,R1: A > B > $o,R2: C > D > $o,F: A > C,G: B > D,X: A,Y: B] :
      ( ( bNF_rel_fun @ A @ B @ C @ D @ R1 @ R2 @ F @ G )
     => ( ( R1 @ X @ Y )
       => ( R2 @ ( F @ X ) @ ( G @ Y ) ) ) ) ).

% apply_rsp'
thf(fact_62_rel__funE,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o,F: A > C,G: B > D,X: A,Y: B] :
      ( ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 @ F @ G )
     => ( ( A2 @ X @ Y )
       => ( B2 @ ( F @ X ) @ ( G @ Y ) ) ) ) ).

% rel_funE
thf(fact_63_quot__rel__rsp,axiom,
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( bNF_rel_fun @ A @ A @ ( A > $o ) @ ( A > $o ) @ R
        @ ( bNF_rel_fun @ A @ A @ $o @ $o @ R
          @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 )
        @ R
        @ R ) ) ).

% quot_rel_rsp
thf(fact_64_Quotient3__rep__reflp,axiom,
    ! [A: $tType,B: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,A4: B] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( R @ ( Rep @ A4 ) @ ( Rep @ A4 ) ) ) ).

% Quotient3_rep_reflp
thf(fact_65_Quotient3__rep__abs,axiom,
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,R4: A] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( ( R @ R4 @ R4 )
       => ( R @ ( Rep @ ( Abs @ R4 ) ) @ R4 ) ) ) ).

% Quotient3_rep_abs
thf(fact_66_Quotient3__rel__rep,axiom,
    ! [A: $tType,B: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,A4: B,B4: B] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( ( R @ ( Rep @ A4 ) @ ( Rep @ B4 ) )
        = ( A4 = B4 ) ) ) ).

% Quotient3_rel_rep
thf(fact_67_Quotient3__rel__abs,axiom,
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,R4: A,S: A] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( ( R @ R4 @ S )
       => ( ( Abs @ R4 )
          = ( Abs @ S ) ) ) ) ).

% Quotient3_rel_abs
thf(fact_68_Quotient3__abs__rep,axiom,
    ! [A: $tType,B: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,A4: B] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( ( Abs @ ( Rep @ A4 ) )
        = A4 ) ) ).

% Quotient3_abs_rep
thf(fact_69_rep__abs__rsp__left,axiom,
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,X1: A,X22: A] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( ( R @ X1 @ X22 )
       => ( R @ ( Rep @ ( Abs @ X1 ) ) @ X22 ) ) ) ).

% rep_abs_rsp_left
thf(fact_70_Quotient3__refl2,axiom,
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,R4: A,S: A] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( ( R @ R4 @ S )
       => ( R @ S @ S ) ) ) ).

% Quotient3_refl2
thf(fact_71_Quotient3__refl1,axiom,
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,R4: A,S: A] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( ( R @ R4 @ S )
       => ( R @ R4 @ R4 ) ) ) ).

% Quotient3_refl1
thf(fact_72_Quotient3__rel,axiom,
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,R4: A,S: A] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( ( ( R @ R4 @ R4 )
          & ( R @ S @ S )
          & ( ( Abs @ R4 )
            = ( Abs @ S ) ) )
        = ( R @ R4 @ S ) ) ) ).

% Quotient3_rel
thf(fact_73_Quotient3__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( quotient3 @ A @ B )
      = ( ^ [R5: A > A > $o,Abs2: A > B,Rep2: B > A] :
            ( ! [A5: B] :
                ( ( Abs2 @ ( Rep2 @ A5 ) )
                = A5 )
            & ! [A5: B] : ( R5 @ ( Rep2 @ A5 ) @ ( Rep2 @ A5 ) )
            & ! [R6: A,S3: A] :
                ( ( R5 @ R6 @ S3 )
                = ( ( R5 @ R6 @ R6 )
                  & ( R5 @ S3 @ S3 )
                  & ( ( Abs2 @ R6 )
                    = ( Abs2 @ S3 ) ) ) ) ) ) ) ).

% Quotient3_def
thf(fact_74_rep__abs__rsp,axiom,
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,X1: A,X22: A] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( ( R @ X1 @ X22 )
       => ( R @ X1 @ ( Rep @ ( Abs @ X22 ) ) ) ) ) ).

% rep_abs_rsp
thf(fact_75_equals__rsp,axiom,
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,Xa: A,Xb: A,Ya: A,Yb: A] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( ( R @ Xa @ Xb )
       => ( ( R @ Ya @ Yb )
         => ( ( R @ Xa @ Ya )
            = ( R @ Xb @ Yb ) ) ) ) ) ).

% equals_rsp
thf(fact_76_Quotient3I,axiom,
    ! [B: $tType,A: $tType,Abs: B > A,Rep: A > B,R: B > B > $o] :
      ( ! [A3: A] :
          ( ( Abs @ ( Rep @ A3 ) )
          = A3 )
     => ( ! [A3: A] : ( R @ ( Rep @ A3 ) @ ( Rep @ A3 ) )
       => ( ! [R7: B,S4: B] :
              ( ( R @ R7 @ S4 )
              = ( ( R @ R7 @ R7 )
                & ( R @ S4 @ S4 )
                & ( ( Abs @ R7 )
                  = ( Abs @ S4 ) ) ) )
         => ( quotient3 @ B @ A @ R @ Abs @ Rep ) ) ) ) ).

% Quotient3I
thf(fact_77_cond__prs,axiom,
    ! [A: $tType,B: $tType,R: A > A > $o,Absf: A > B,Repf: B > A,A4: $o,B4: B,C3: B] :
      ( ( quotient3 @ A @ B @ R @ Absf @ Repf )
     => ( ( A4
         => ( ( Absf @ ( if @ A @ A4 @ ( Repf @ B4 ) @ ( Repf @ C3 ) ) )
            = B4 ) )
        & ( ~ A4
         => ( ( Absf @ ( if @ A @ A4 @ ( Repf @ B4 ) @ ( Repf @ C3 ) ) )
            = C3 ) ) ) ) ).

% cond_prs
thf(fact_78_apply__rspQ3,axiom,
    ! [B: $tType,C: $tType,A: $tType,R1: A > A > $o,Abs1: A > B,Rep1: B > A,R2: C > C > $o,F: A > C,G: A > C,X: A,Y: A] :
      ( ( quotient3 @ A @ B @ R1 @ Abs1 @ Rep1 )
     => ( ( bNF_rel_fun @ A @ A @ C @ C @ R1 @ R2 @ F @ G )
       => ( ( R1 @ X @ Y )
         => ( R2 @ ( F @ X ) @ ( G @ Y ) ) ) ) ) ).

% apply_rspQ3
thf(fact_79_apply__rspQ3_H_H,axiom,
    ! [C: $tType,A: $tType,B: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,S2: C > C > $o,F: A > C,X: B] :
      ( ( quotient3 @ A @ B @ R @ Abs @ Rep )
     => ( ( bNF_rel_fun @ A @ A @ C @ C @ R @ S2 @ F @ F )
       => ( S2 @ ( F @ ( Rep @ X ) ) @ ( F @ ( Rep @ X ) ) ) ) ) ).

% apply_rspQ3''
thf(fact_80_bex1__rel__rsp,axiom,
    ! [B: $tType,A: $tType,R: A > A > $o,Absf: A > B,Repf: B > A] :
      ( ( quotient3 @ A @ B @ R @ Absf @ Repf )
     => ( bNF_rel_fun @ ( A > $o ) @ ( A > $o ) @ $o @ $o
        @ ( bNF_rel_fun @ A @ A @ $o @ $o @ R
          @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 )
        @ ^ [Y4: $o,Z2: $o] : Y4 = Z2
        @ ( bex1_rel @ A @ R )
        @ ( bex1_rel @ A @ R ) ) ) ).

% bex1_rel_rsp
thf(fact_81_map__fun__parametric,axiom,
    ! [A: $tType,B: $tType,E: $tType,F3: $tType,H2: $tType,G3: $tType,D: $tType,C: $tType,A2: A > C > $o,B2: B > D > $o,C2: E > G3 > $o,D3: F3 > H2 > $o] : ( bNF_rel_fun @ ( A > B ) @ ( C > D ) @ ( ( E > F3 ) > ( B > E ) > A > F3 ) @ ( ( G3 > H2 ) > ( D > G3 ) > C > H2 ) @ ( bNF_rel_fun @ A @ C @ B @ D @ A2 @ B2 ) @ ( bNF_rel_fun @ ( E > F3 ) @ ( G3 > H2 ) @ ( ( B > E ) > A > F3 ) @ ( ( D > G3 ) > C > H2 ) @ ( bNF_rel_fun @ E @ G3 @ F3 @ H2 @ C2 @ D3 ) @ ( bNF_rel_fun @ ( B > E ) @ ( D > G3 ) @ ( A > F3 ) @ ( C > H2 ) @ ( bNF_rel_fun @ B @ D @ E @ G3 @ B2 @ C2 ) @ ( bNF_rel_fun @ A @ C @ F3 @ H2 @ A2 @ D3 ) ) ) @ ( map_fun @ A @ B @ E @ F3 ) @ ( map_fun @ C @ D @ G3 @ H2 ) ) ).

% map_fun_parametric
thf(fact_82_folding__idem__axioms__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( finite1921348288axioms @ A @ B )
      = ( ^ [F2: A > B > B] :
          ! [X3: A] :
            ( ( comp @ B @ B @ B @ ( F2 @ X3 ) @ ( F2 @ X3 ) )
            = ( F2 @ X3 ) ) ) ) ).

% folding_idem_axioms_def
thf(fact_83_folding__idem__axioms_Ointro,axiom,
    ! [B: $tType,A: $tType,F: A > B > B] :
      ( ! [X2: A] :
          ( ( comp @ B @ B @ B @ ( F @ X2 ) @ ( F @ X2 ) )
          = ( F @ X2 ) )
     => ( finite1921348288axioms @ A @ B @ F ) ) ).

% folding_idem_axioms.intro
thf(fact_84_fun__quotient3,axiom,
    ! [A: $tType,B: $tType,C: $tType,D: $tType,R1: A > A > $o,Abs12: A > B,Rep12: B > A,R2: C > C > $o,Abs22: C > D,Rep22: D > C] :
      ( ( quotient3 @ A @ B @ R1 @ Abs12 @ Rep12 )
     => ( ( quotient3 @ C @ D @ R2 @ Abs22 @ Rep22 )
       => ( quotient3 @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ A @ C @ C @ R1 @ R2 ) @ ( map_fun @ B @ A @ C @ D @ Rep12 @ Abs22 ) @ ( map_fun @ A @ B @ D @ C @ Abs12 @ Rep22 ) ) ) ) ).

% fun_quotient3
thf(fact_85_fun__ord__parametric,axiom,
    ! [C: $tType,D: $tType,A: $tType,B: $tType,F3: $tType,E: $tType,C2: A > B > $o,A2: C > E > $o,B2: D > F3 > $o] :
      ( ( bi_total @ A @ B @ C2 )
     => ( bNF_rel_fun @ ( C > D > $o ) @ ( E > F3 > $o ) @ ( ( A > C ) > ( A > D ) > $o ) @ ( ( B > E ) > ( B > F3 ) > $o )
        @ ( bNF_rel_fun @ C @ E @ ( D > $o ) @ ( F3 > $o ) @ A2
          @ ( bNF_rel_fun @ D @ F3 @ $o @ $o @ B2
            @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
        @ ( bNF_rel_fun @ ( A > C ) @ ( B > E ) @ ( ( A > D ) > $o ) @ ( ( B > F3 ) > $o ) @ ( bNF_rel_fun @ A @ B @ C @ E @ C2 @ A2 )
          @ ( bNF_rel_fun @ ( A > D ) @ ( B > F3 ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ D @ F3 @ C2 @ B2 )
            @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
        @ ( partial_fun_ord @ C @ D @ A )
        @ ( partial_fun_ord @ E @ F3 @ B ) ) ) ).

% fun_ord_parametric
thf(fact_86_comp__fun__commute_Ofold__mset__union,axiom,
    ! [B: $tType,A: $tType,F: A > B > B,S: B,M: multiset @ A,N: multiset @ A] :
      ( ( finite100568337ommute @ A @ B @ F )
     => ( ( fold_mset @ A @ B @ F @ S @ ( plus_plus @ ( multiset @ A ) @ M @ N ) )
        = ( fold_mset @ A @ B @ F @ ( fold_mset @ A @ B @ F @ S @ M ) @ N ) ) ) ).

% comp_fun_commute.fold_mset_union
thf(fact_87_map__fun__apply,axiom,
    ! [D: $tType,A: $tType,C: $tType,B: $tType] :
      ( ( map_fun @ B @ C @ D @ A )
      = ( ^ [F2: B > C,G2: D > A,H3: C > D,X3: B] : ( G2 @ ( H3 @ ( F2 @ X3 ) ) ) ) ) ).

% map_fun_apply
thf(fact_88_o__prs_I1_J,axiom,
    ! [C: $tType,E: $tType,A: $tType,B: $tType,F3: $tType,D: $tType,R1: A > A > $o,Abs1: A > B,Rep1: B > A,R2: C > C > $o,Abs23: C > D,Rep23: D > C,R3: E > E > $o,Abs3: E > F3,Rep3: F3 > E] :
      ( ( quotient3 @ A @ B @ R1 @ Abs1 @ Rep1 )
     => ( ( quotient3 @ C @ D @ R2 @ Abs23 @ Rep23 )
       => ( ( quotient3 @ E @ F3 @ R3 @ Abs3 @ Rep3 )
         => ( ( map_fun @ ( D > F3 ) @ ( C > E ) @ ( ( A > C ) > A > E ) @ ( ( B > D ) > B > F3 ) @ ( map_fun @ C @ D @ F3 @ E @ Abs23 @ Rep3 ) @ ( map_fun @ ( B > D ) @ ( A > C ) @ ( A > E ) @ ( B > F3 ) @ ( map_fun @ A @ B @ D @ C @ Abs1 @ Rep23 ) @ ( map_fun @ B @ A @ E @ F3 @ Rep1 @ Abs3 ) ) @ ( comp @ C @ E @ A ) )
            = ( comp @ D @ F3 @ B ) ) ) ) ) ).

% o_prs(1)
thf(fact_89_let__prs,axiom,
    ! [C: $tType,A: $tType,B: $tType,D: $tType,R1: A > A > $o,Abs1: A > B,Rep1: B > A,R2: C > C > $o,Abs23: C > D,Rep23: D > C] :
      ( ( quotient3 @ A @ B @ R1 @ Abs1 @ Rep1 )
     => ( ( quotient3 @ C @ D @ R2 @ Abs23 @ Rep23 )
       => ( ( map_fun @ D @ C @ ( ( C > A ) > A ) @ ( ( D > B ) > B ) @ Rep23 @ ( map_fun @ ( D > B ) @ ( C > A ) @ A @ B @ ( map_fun @ C @ D @ B @ A @ Abs23 @ Rep1 ) @ Abs1 )
            @ ^ [S3: C,F2: C > A] : ( F2 @ S3 ) )
          = ( ^ [S3: D,F2: D > B] : ( F2 @ S3 ) ) ) ) ) ).

% let_prs
thf(fact_90_bi__total__eq,axiom,
    ! [A: $tType] :
      ( bi_total @ A @ A
      @ ^ [Y4: A,Z2: A] : Y4 = Z2 ) ).

% bi_total_eq
thf(fact_91_bi__total__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( bi_total @ A @ B )
      = ( ^ [R5: A > B > $o] :
            ( ! [X3: A] :
              ? [X6: B] : ( R5 @ X3 @ X6 )
            & ! [Y3: B] :
              ? [X3: A] : ( R5 @ X3 @ Y3 ) ) ) ) ).

% bi_total_def
thf(fact_92_union__assoc,axiom,
    ! [A: $tType,M: multiset @ A,N: multiset @ A,K2: multiset @ A] :
      ( ( plus_plus @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ M @ N ) @ K2 )
      = ( plus_plus @ ( multiset @ A ) @ M @ ( plus_plus @ ( multiset @ A ) @ N @ K2 ) ) ) ).

% union_assoc
thf(fact_93_union__lcomm,axiom,
    ! [A: $tType,M: multiset @ A,N: multiset @ A,K2: multiset @ A] :
      ( ( plus_plus @ ( multiset @ A ) @ M @ ( plus_plus @ ( multiset @ A ) @ N @ K2 ) )
      = ( plus_plus @ ( multiset @ A ) @ N @ ( plus_plus @ ( multiset @ A ) @ M @ K2 ) ) ) ).

% union_lcomm
thf(fact_94_union__commute,axiom,
    ! [A: $tType] :
      ( ( plus_plus @ ( multiset @ A ) )
      = ( ^ [M2: multiset @ A,N2: multiset @ A] : ( plus_plus @ ( multiset @ A ) @ N2 @ M2 ) ) ) ).

% union_commute
thf(fact_95_union__left__cancel,axiom,
    ! [A: $tType,K2: multiset @ A,M: multiset @ A,N: multiset @ A] :
      ( ( ( plus_plus @ ( multiset @ A ) @ K2 @ M )
        = ( plus_plus @ ( multiset @ A ) @ K2 @ N ) )
      = ( M = N ) ) ).

% union_left_cancel
thf(fact_96_union__right__cancel,axiom,
    ! [A: $tType,M: multiset @ A,K2: multiset @ A,N: multiset @ A] :
      ( ( ( plus_plus @ ( multiset @ A ) @ M @ K2 )
        = ( plus_plus @ ( multiset @ A ) @ N @ K2 ) )
      = ( M = N ) ) ).

% union_right_cancel
thf(fact_97_multi__union__self__other__eq,axiom,
    ! [A: $tType,A2: multiset @ A,X4: multiset @ A,Y5: multiset @ A] :
      ( ( ( plus_plus @ ( multiset @ A ) @ A2 @ X4 )
        = ( plus_plus @ ( multiset @ A ) @ A2 @ Y5 ) )
     => ( X4 = Y5 ) ) ).

% multi_union_self_other_eq
thf(fact_98_comp__fun__commute__plus__mset,axiom,
    ! [A: $tType] : ( finite100568337ommute @ ( multiset @ A ) @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) ) ) ).

% comp_fun_commute_plus_mset
thf(fact_99_bex1__rel__aux,axiom,
    ! [A: $tType,R: A > A > $o,X: A > $o,Y: A > $o] :
      ( ! [Xa2: A,Ya2: A] :
          ( ( R @ Xa2 @ Ya2 )
         => ( ( X @ Xa2 )
            = ( Y @ Ya2 ) ) )
     => ( ( bex1_rel @ A @ R @ X )
       => ( bex1_rel @ A @ R @ Y ) ) ) ).

% bex1_rel_aux
thf(fact_100_bex1__rel__aux2,axiom,
    ! [A: $tType,R: A > A > $o,X: A > $o,Y: A > $o] :
      ( ! [Xa2: A,Ya2: A] :
          ( ( R @ Xa2 @ Ya2 )
         => ( ( X @ Xa2 )
            = ( Y @ Ya2 ) ) )
     => ( ( bex1_rel @ A @ R @ Y )
       => ( bex1_rel @ A @ R @ X ) ) ) ).

% bex1_rel_aux2
thf(fact_101_map__fun_Ocompositionality,axiom,
    ! [D: $tType,F3: $tType,C: $tType,E: $tType,B: $tType,A: $tType,F: E > C,G: D > F3,H: C > A,I: B > D,Fun: A > B] :
      ( ( map_fun @ E @ C @ D @ F3 @ F @ G @ ( map_fun @ C @ A @ B @ D @ H @ I @ Fun ) )
      = ( map_fun @ E @ A @ B @ F3 @ ( comp @ C @ A @ E @ H @ F ) @ ( comp @ D @ F3 @ B @ G @ I ) @ Fun ) ) ).

% map_fun.compositionality
thf(fact_102_map__fun_Ocomp,axiom,
    ! [E: $tType,C: $tType,A: $tType,F3: $tType,D: $tType,B: $tType,F: E > C,G: D > F3,H: C > A,I: B > D] :
      ( ( comp @ ( C > D ) @ ( E > F3 ) @ ( A > B ) @ ( map_fun @ E @ C @ D @ F3 @ F @ G ) @ ( map_fun @ C @ A @ B @ D @ H @ I ) )
      = ( map_fun @ E @ A @ B @ F3 @ ( comp @ C @ A @ E @ H @ F ) @ ( comp @ D @ F3 @ B @ G @ I ) ) ) ).

% map_fun.comp
thf(fact_103_map__fun__def,axiom,
    ! [B: $tType,D: $tType,A: $tType,C: $tType] :
      ( ( map_fun @ C @ A @ B @ D )
      = ( ^ [F2: C > A,G2: B > D,H3: A > B] : ( comp @ A @ D @ C @ ( comp @ B @ D @ A @ G2 @ H3 ) @ F2 ) ) ) ).

% map_fun_def
thf(fact_104_add__right__cancel,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [B4: A,A4: A,C3: A] :
          ( ( ( plus_plus @ A @ B4 @ A4 )
            = ( plus_plus @ A @ C3 @ A4 ) )
          = ( B4 = C3 ) ) ) ).

% add_right_cancel
thf(fact_105_add__left__cancel,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [A4: A,B4: A,C3: A] :
          ( ( ( plus_plus @ A @ A4 @ B4 )
            = ( plus_plus @ A @ A4 @ C3 ) )
          = ( B4 = C3 ) ) ) ).

% add_left_cancel
thf(fact_106_set__plus__intro,axiom,
    ! [A: $tType] :
      ( ( plus @ A )
     => ! [A4: A,C2: set @ A,B4: A,D3: set @ A] :
          ( ( member @ A @ A4 @ C2 )
         => ( ( member @ A @ B4 @ D3 )
           => ( member @ A @ ( plus_plus @ A @ A4 @ B4 ) @ ( plus_plus @ ( set @ A ) @ C2 @ D3 ) ) ) ) ) ).

% set_plus_intro
thf(fact_107_transfer__forall__transfer_I1_J,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( bi_total @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o
        @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
          @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 )
        @ ^ [Y4: $o,Z2: $o] : Y4 = Z2
        @ ( transfer_forall @ A )
        @ ( transfer_forall @ B ) ) ) ).

% transfer_forall_transfer(1)
thf(fact_108_monotone__parametric,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( bi_total @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ ( ( C > C > $o ) > ( A > C ) > $o ) @ ( ( D > D > $o ) > ( B > D ) > $o )
        @ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
          @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
            @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
        @ ( bNF_rel_fun @ ( C > C > $o ) @ ( D > D > $o ) @ ( ( A > C ) > $o ) @ ( ( B > D ) > $o )
          @ ( bNF_rel_fun @ C @ D @ ( C > $o ) @ ( D > $o ) @ B2
            @ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
              @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
          @ ( bNF_rel_fun @ ( A > C ) @ ( B > D ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 )
            @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
        @ ( comple1396247847notone @ A @ C )
        @ ( comple1396247847notone @ B @ D ) ) ) ).

% monotone_parametric
thf(fact_109_relcompp__transfer,axiom,
    ! [C: $tType,A: $tType,E: $tType,F3: $tType,B: $tType,D: $tType,B2: A > B > $o,A2: C > D > $o,C2: E > F3 > $o] :
      ( ( bi_total @ A @ B @ B2 )
     => ( bNF_rel_fun @ ( C > A > $o ) @ ( D > B > $o ) @ ( ( A > E > $o ) > C > E > $o ) @ ( ( B > F3 > $o ) > D > F3 > $o )
        @ ( bNF_rel_fun @ C @ D @ ( A > $o ) @ ( B > $o ) @ A2
          @ ( bNF_rel_fun @ A @ B @ $o @ $o @ B2
            @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
        @ ( bNF_rel_fun @ ( A > E > $o ) @ ( B > F3 > $o ) @ ( C > E > $o ) @ ( D > F3 > $o )
          @ ( bNF_rel_fun @ A @ B @ ( E > $o ) @ ( F3 > $o ) @ B2
            @ ( bNF_rel_fun @ E @ F3 @ $o @ $o @ C2
              @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
          @ ( bNF_rel_fun @ C @ D @ ( E > $o ) @ ( F3 > $o ) @ A2
            @ ( bNF_rel_fun @ E @ F3 @ $o @ $o @ C2
              @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) ) )
        @ ( relcompp @ C @ A @ E )
        @ ( relcompp @ D @ B @ F3 ) ) ) ).

% relcompp_transfer
thf(fact_110_fun_Orel__compp,axiom,
    ! [A: $tType,D: $tType,C: $tType,B: $tType,R: A > B > $o,S2: B > C > $o] :
      ( ( bNF_rel_fun @ D @ D @ A @ C
        @ ^ [Y4: D,Z2: D] : Y4 = Z2
        @ ( relcompp @ A @ B @ C @ R @ S2 ) )
      = ( relcompp @ ( D > A ) @ ( D > B ) @ ( D > C )
        @ ( bNF_rel_fun @ D @ D @ A @ B
          @ ^ [Y4: D,Z2: D] : Y4 = Z2
          @ R )
        @ ( bNF_rel_fun @ D @ D @ B @ C
          @ ^ [Y4: D,Z2: D] : Y4 = Z2
          @ S2 ) ) ) ).

% fun.rel_compp
thf(fact_111_eq__comp__r,axiom,
    ! [A: $tType,R: A > A > $o] :
      ( ( relcompp @ A @ A @ A
        @ ^ [Y4: A,Z2: A] : Y4 = Z2
        @ ( relcompp @ A @ A @ A @ R
          @ ^ [Y4: A,Z2: A] : Y4 = Z2 ) )
      = R ) ).

% eq_comp_r
thf(fact_112_bi__total__OO,axiom,
    ! [A: $tType,C: $tType,B: $tType,A2: A > B > $o,B2: B > C > $o] :
      ( ( bi_total @ A @ B @ A2 )
     => ( ( bi_total @ B @ C @ B2 )
       => ( bi_total @ A @ C @ ( relcompp @ A @ B @ C @ A2 @ B2 ) ) ) ) ).

% bi_total_OO
thf(fact_113_OOO__quotient3,axiom,
    ! [A: $tType,B: $tType,C: $tType,R1: A > A > $o,Abs1: A > B,Rep1: B > A,R2: B > B > $o,Abs23: B > C,Rep23: C > B,R23: A > A > $o] :
      ( ( quotient3 @ A @ B @ R1 @ Abs1 @ Rep1 )
     => ( ( quotient3 @ B @ C @ R2 @ Abs23 @ Rep23 )
       => ( ! [X2: A,Y2: A] :
              ( ( R23 @ X2 @ Y2 )
             => ( ( R1 @ X2 @ X2 )
               => ( ( R1 @ Y2 @ Y2 )
                 => ( R2 @ ( Abs1 @ X2 ) @ ( Abs1 @ Y2 ) ) ) ) )
         => ( ! [X2: B,Y2: B] :
                ( ( R2 @ X2 @ Y2 )
               => ( R23 @ ( Rep1 @ X2 ) @ ( Rep1 @ Y2 ) ) )
           => ( quotient3 @ A @ C @ ( relcompp @ A @ A @ A @ R1 @ ( relcompp @ A @ A @ A @ R23 @ R1 ) ) @ ( comp @ B @ C @ A @ Abs23 @ Abs1 ) @ ( comp @ B @ A @ C @ Rep1 @ Rep23 ) ) ) ) ) ) ).

% OOO_quotient3
thf(fact_114_OOO__eq__quotient3,axiom,
    ! [A: $tType,B: $tType,C: $tType,R1: A > A > $o,Abs1: A > B,Rep1: B > A,Abs23: B > C,Rep23: C > B] :
      ( ( quotient3 @ A @ B @ R1 @ Abs1 @ Rep1 )
     => ( ( quotient3 @ B @ C
          @ ^ [Y4: B,Z2: B] : Y4 = Z2
          @ Abs23
          @ Rep23 )
       => ( quotient3 @ A @ C
          @ ( relcompp @ A @ A @ A @ R1
            @ ( relcompp @ A @ A @ A
              @ ^ [Y4: A,Z2: A] : Y4 = Z2
              @ R1 ) )
          @ ( comp @ B @ C @ A @ Abs23 @ Abs1 )
          @ ( comp @ B @ A @ C @ Rep1 @ Rep23 ) ) ) ) ).

% OOO_eq_quotient3
thf(fact_115_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_add @ A )
     => ! [A4: A,B4: A,C3: A] :
          ( ( plus_plus @ A @ ( plus_plus @ A @ A4 @ B4 ) @ C3 )
          = ( plus_plus @ A @ A4 @ ( plus_plus @ A @ B4 @ C3 ) ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_116_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [A: $tType] :
      ( ( ordere779506340up_add @ A )
     => ! [I: A,J: A,K: A,L: A] :
          ( ( ( I = J )
            & ( K = L ) )
         => ( ( plus_plus @ A @ I @ K )
            = ( plus_plus @ A @ J @ L ) ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_117_group__cancel_Oadd1,axiom,
    ! [A: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [A2: A,K: A,A4: A,B4: A] :
          ( ( A2
            = ( plus_plus @ A @ K @ A4 ) )
         => ( ( plus_plus @ A @ A2 @ B4 )
            = ( plus_plus @ A @ K @ ( plus_plus @ A @ A4 @ B4 ) ) ) ) ) ).

% group_cancel.add1
thf(fact_118_group__cancel_Oadd2,axiom,
    ! [A: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [B2: A,K: A,B4: A,A4: A] :
          ( ( B2
            = ( plus_plus @ A @ K @ B4 ) )
         => ( ( plus_plus @ A @ A4 @ B2 )
            = ( plus_plus @ A @ K @ ( plus_plus @ A @ A4 @ B4 ) ) ) ) ) ).

% group_cancel.add2
thf(fact_119_set__plus__elim,axiom,
    ! [A: $tType] :
      ( ( plus @ A )
     => ! [X: A,A2: set @ A,B2: set @ A] :
          ( ( member @ A @ X @ ( plus_plus @ ( set @ A ) @ A2 @ B2 ) )
         => ~ ! [A3: A,B3: A] :
                ( ( X
                  = ( plus_plus @ A @ A3 @ B3 ) )
               => ( ( member @ A @ A3 @ A2 )
                 => ~ ( member @ A @ B3 @ B2 ) ) ) ) ) ).

% set_plus_elim
thf(fact_120_add_Oassoc,axiom,
    ! [A: $tType] :
      ( ( semigroup_add @ A )
     => ! [A4: A,B4: A,C3: A] :
          ( ( plus_plus @ A @ ( plus_plus @ A @ A4 @ B4 ) @ C3 )
          = ( plus_plus @ A @ A4 @ ( plus_plus @ A @ B4 @ C3 ) ) ) ) ).

% add.assoc
thf(fact_121_add_Oleft__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A4: A,B4: A,C3: A] :
          ( ( ( plus_plus @ A @ A4 @ B4 )
            = ( plus_plus @ A @ A4 @ C3 ) )
          = ( B4 = C3 ) ) ) ).

% add.left_cancel
thf(fact_122_add_Oright__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [B4: A,A4: A,C3: A] :
          ( ( ( plus_plus @ A @ B4 @ A4 )
            = ( plus_plus @ A @ C3 @ A4 ) )
          = ( B4 = C3 ) ) ) ).

% add.right_cancel
thf(fact_123_add_Ocommute,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_add @ A )
     => ( ( plus_plus @ A )
        = ( ^ [A5: A,B5: A] : ( plus_plus @ A @ B5 @ A5 ) ) ) ) ).

% add.commute
thf(fact_124_add_Oleft__commute,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_add @ A )
     => ! [B4: A,A4: A,C3: A] :
          ( ( plus_plus @ A @ B4 @ ( plus_plus @ A @ A4 @ C3 ) )
          = ( plus_plus @ A @ A4 @ ( plus_plus @ A @ B4 @ C3 ) ) ) ) ).

% add.left_commute
thf(fact_125_add__left__imp__eq,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [A4: A,B4: A,C3: A] :
          ( ( ( plus_plus @ A @ A4 @ B4 )
            = ( plus_plus @ A @ A4 @ C3 ) )
         => ( B4 = C3 ) ) ) ).

% add_left_imp_eq
thf(fact_126_add__right__imp__eq,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [B4: A,A4: A,C3: A] :
          ( ( ( plus_plus @ A @ B4 @ A4 )
            = ( plus_plus @ A @ C3 @ A4 ) )
         => ( B4 = C3 ) ) ) ).

% add_right_imp_eq
thf(fact_127_transfer__forall__transfer_I4_J,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( bi_total @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o
        @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
          @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 )
        @ rev_implies
        @ ( transfer_forall @ A )
        @ ( transfer_forall @ B ) ) ) ).

% transfer_forall_transfer(4)
thf(fact_128_transfer__forall__transfer_I5_J,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( bi_total @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2 @ rev_implies ) @ rev_implies @ ( transfer_forall @ A ) @ ( transfer_forall @ B ) ) ) ).

% transfer_forall_transfer(5)
thf(fact_129_Domainp__transfer,axiom,
    ! [C: $tType,A: $tType,B: $tType,D: $tType,B2: A > B > $o,A2: C > D > $o] :
      ( ( bi_total @ A @ B @ B2 )
     => ( bNF_rel_fun @ ( C > A > $o ) @ ( D > B > $o ) @ ( C > $o ) @ ( D > $o )
        @ ( bNF_rel_fun @ C @ D @ ( A > $o ) @ ( B > $o ) @ A2
          @ ( bNF_rel_fun @ A @ B @ $o @ $o @ B2
            @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
        @ ( bNF_rel_fun @ C @ D @ $o @ $o @ A2
          @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 )
        @ ( domainp @ C @ A )
        @ ( domainp @ D @ B ) ) ) ).

% Domainp_transfer
thf(fact_130_folding__idem_Oaxioms_I2_J,axiom,
    ! [B: $tType,A: $tType,F: A > B > B] :
      ( ( finite_folding_idem @ A @ B @ F )
     => ( finite1921348288axioms @ A @ B @ F ) ) ).

% folding_idem.axioms(2)
thf(fact_131_OO__eq,axiom,
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( relcompp @ A @ B @ B @ R
        @ ^ [Y4: B,Z2: B] : Y4 = Z2 )
      = R ) ).

% OO_eq
thf(fact_132_Domainp__iff,axiom,
    ! [B: $tType,A: $tType] :
      ( ( domainp @ A @ B )
      = ( ^ [T2: A > B > $o,X3: A] :
          ? [X6: B] : ( T2 @ X3 @ X6 ) ) ) ).

% Domainp_iff
thf(fact_133_Domainp__refl,axiom,
    ! [B: $tType,A: $tType] :
      ( ( domainp @ A @ B )
      = ( domainp @ A @ B ) ) ).

% Domainp_refl
thf(fact_134_rev__implies__def,axiom,
    ( rev_implies
    = ( ^ [X3: $o,Y3: $o] :
          ( Y3
         => X3 ) ) ) ).

% rev_implies_def
thf(fact_135_folding__idem_Ocomp__fun__idem,axiom,
    ! [B: $tType,A: $tType,F: A > B > B,X: A] :
      ( ( finite_folding_idem @ A @ B @ F )
     => ( ( comp @ B @ B @ B @ ( F @ X ) @ ( F @ X ) )
        = ( F @ X ) ) ) ).

% folding_idem.comp_fun_idem
thf(fact_136_relcompp_OrelcompI,axiom,
    ! [A: $tType,B: $tType,C: $tType,R4: A > B > $o,A4: A,B4: B,S: B > C > $o,C3: C] :
      ( ( R4 @ A4 @ B4 )
     => ( ( S @ B4 @ C3 )
       => ( relcompp @ A @ B @ C @ R4 @ S @ A4 @ C3 ) ) ) ).

% relcompp.relcompI
thf(fact_137_relcompp_Oinducts,axiom,
    ! [B: $tType,A: $tType,C: $tType,R4: A > B > $o,S: B > C > $o,X1: A,X22: C,P: A > C > $o] :
      ( ( relcompp @ A @ B @ C @ R4 @ S @ X1 @ X22 )
     => ( ! [A3: A,B3: B,C4: C] :
            ( ( R4 @ A3 @ B3 )
           => ( ( S @ B3 @ C4 )
             => ( P @ A3 @ C4 ) ) )
       => ( P @ X1 @ X22 ) ) ) ).

% relcompp.inducts
thf(fact_138_relcompp__assoc,axiom,
    ! [A: $tType,D: $tType,B: $tType,C: $tType,R4: A > D > $o,S: D > C > $o,T3: C > B > $o] :
      ( ( relcompp @ A @ C @ B @ ( relcompp @ A @ D @ C @ R4 @ S ) @ T3 )
      = ( relcompp @ A @ D @ B @ R4 @ ( relcompp @ D @ C @ B @ S @ T3 ) ) ) ).

% relcompp_assoc
thf(fact_139_relcompp__apply,axiom,
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( relcompp @ A @ B @ C )
      = ( ^ [R5: A > B > $o,S5: B > C > $o,A5: A,C5: C] :
          ? [B5: B] :
            ( ( R5 @ A5 @ B5 )
            & ( S5 @ B5 @ C5 ) ) ) ) ).

% relcompp_apply
thf(fact_140_relcompp_Osimps,axiom,
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( relcompp @ A @ B @ C )
      = ( ^ [R6: A > B > $o,S3: B > C > $o,A1: A,A22: C] :
          ? [A5: A,B5: B,C5: C] :
            ( ( A1 = A5 )
            & ( A22 = C5 )
            & ( R6 @ A5 @ B5 )
            & ( S3 @ B5 @ C5 ) ) ) ) ).

% relcompp.simps
thf(fact_141_relcompp_Ocases,axiom,
    ! [A: $tType,B: $tType,C: $tType,R4: A > B > $o,S: B > C > $o,A12: A,A23: C] :
      ( ( relcompp @ A @ B @ C @ R4 @ S @ A12 @ A23 )
     => ~ ! [B3: B] :
            ( ( R4 @ A12 @ B3 )
           => ~ ( S @ B3 @ A23 ) ) ) ).

% relcompp.cases
thf(fact_142_relcomppE,axiom,
    ! [A: $tType,B: $tType,C: $tType,R4: A > B > $o,S: B > C > $o,A4: A,C3: C] :
      ( ( relcompp @ A @ B @ C @ R4 @ S @ A4 @ C3 )
     => ~ ! [B3: B] :
            ( ( R4 @ A4 @ B3 )
           => ~ ( S @ B3 @ C3 ) ) ) ).

% relcomppE
thf(fact_143_eq__OO,axiom,
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( relcompp @ A @ A @ B
        @ ^ [Y4: A,Z2: A] : Y4 = Z2
        @ R )
      = R ) ).

% eq_OO
thf(fact_144_folding__idem__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( finite_folding_idem @ A @ B )
      = ( ^ [F2: A > B > B] :
            ( ( finite_folding @ A @ B @ F2 )
            & ( finite1921348288axioms @ A @ B @ F2 ) ) ) ) ).

% folding_idem_def
thf(fact_145_folding__idem_Ointro,axiom,
    ! [B: $tType,A: $tType,F: A > B > B] :
      ( ( finite_folding @ A @ B @ F )
     => ( ( finite1921348288axioms @ A @ B @ F )
       => ( finite_folding_idem @ A @ B @ F ) ) ) ).

% folding_idem.intro
thf(fact_146_reflp__transfer_I5_J,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( bi_total @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ $o @ $o
        @ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
          @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
            @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
        @ rev_implies
        @ ( reflp @ A )
        @ ( reflp @ B ) ) ) ).

% reflp_transfer(5)
thf(fact_147_reflp__transfer_I4_J,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( bi_total @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2 @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2 @ rev_implies ) ) @ rev_implies @ ( reflp @ A ) @ ( reflp @ B ) ) ) ).

% reflp_transfer(4)
thf(fact_148_fun_Orel__reflp,axiom,
    ! [D: $tType,A: $tType,R: A > A > $o] :
      ( ( reflp @ A @ R )
     => ( reflp @ ( D > A )
        @ ( bNF_rel_fun @ D @ D @ A @ A
          @ ^ [Y4: D,Z2: D] : Y4 = Z2
          @ R ) ) ) ).

% fun.rel_reflp
thf(fact_149_DEADID_Orel__reflp,axiom,
    ! [A: $tType] :
      ( reflp @ A
      @ ^ [Y4: A,Z2: A] : Y4 = Z2 ) ).

% DEADID.rel_reflp
thf(fact_150_folding__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( finite_folding @ A @ B )
      = ( ^ [F2: A > B > B] :
          ! [Y3: A,X3: A] :
            ( ( comp @ B @ B @ B @ ( F2 @ Y3 ) @ ( F2 @ X3 ) )
            = ( comp @ B @ B @ B @ ( F2 @ X3 ) @ ( F2 @ Y3 ) ) ) ) ) ).

% folding_def
thf(fact_151_folding_Ointro,axiom,
    ! [B: $tType,A: $tType,F: A > B > B] :
      ( ! [Y2: A,X2: A] :
          ( ( comp @ B @ B @ B @ ( F @ Y2 ) @ ( F @ X2 ) )
          = ( comp @ B @ B @ B @ ( F @ X2 ) @ ( F @ Y2 ) ) )
     => ( finite_folding @ A @ B @ F ) ) ).

% folding.intro
thf(fact_152_folding_Ocomp__fun__commute,axiom,
    ! [B: $tType,A: $tType,F: A > B > B,Y: A,X: A] :
      ( ( finite_folding @ A @ B @ F )
     => ( ( comp @ B @ B @ B @ ( F @ Y ) @ ( F @ X ) )
        = ( comp @ B @ B @ B @ ( F @ X ) @ ( F @ Y ) ) ) ) ).

% folding.comp_fun_commute
thf(fact_153_folding__idem_Oaxioms_I1_J,axiom,
    ! [B: $tType,A: $tType,F: A > B > B] :
      ( ( finite_folding_idem @ A @ B @ F )
     => ( finite_folding @ A @ B @ F ) ) ).

% folding_idem.axioms(1)
thf(fact_154_reflp__transfer_I1_J,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( bi_total @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ $o @ $o
        @ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
          @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
            @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
        @ ^ [Y4: $o,Z2: $o] : Y4 = Z2
        @ ( reflp @ A )
        @ ( reflp @ B ) ) ) ).

% reflp_transfer(1)
thf(fact_155_left__total__parametric,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( bi_total @ A @ B @ A2 )
     => ( ( bi_total @ C @ D @ B2 )
       => ( bNF_rel_fun @ ( A > C > $o ) @ ( B > D > $o ) @ $o @ $o
          @ ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ A2
            @ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
              @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
          @ ^ [Y4: $o,Z2: $o] : Y4 = Z2
          @ ( left_total @ A @ C )
          @ ( left_total @ B @ D ) ) ) ) ).

% left_total_parametric
thf(fact_156_reflp__transfer_I2_J,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( right_total @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2 @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2 @ (=>) ) ) @ (=>) @ ( reflp @ A ) @ ( reflp @ B ) ) ) ).

% reflp_transfer(2)
thf(fact_157_reflp__transfer_I3_J,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( right_total @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ $o @ $o
        @ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
          @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
            @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
        @ (=>)
        @ ( reflp @ A )
        @ ( reflp @ B ) ) ) ).

% reflp_transfer(3)
thf(fact_158_left__totalE,axiom,
    ! [A: $tType,B: $tType,R: A > B > $o] :
      ( ( left_total @ A @ B @ R )
     => ! [X7: A] :
        ? [X_1: B] : ( R @ X7 @ X_1 ) ) ).

% left_totalE
thf(fact_159_left__totalI,axiom,
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ! [X2: A] :
        ? [X_12: B] : ( R @ X2 @ X_12 )
     => ( left_total @ A @ B @ R ) ) ).

% left_totalI
thf(fact_160_right__totalE,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o,Y: B] :
      ( ( right_total @ A @ B @ A2 )
     => ~ ! [X2: A] :
            ~ ( A2 @ X2 @ Y ) ) ).

% right_totalE
thf(fact_161_right__totalI,axiom,
    ! [A: $tType,B: $tType,A2: B > A > $o] :
      ( ! [Y2: A] :
        ? [X7: B] : ( A2 @ X7 @ Y2 )
     => ( right_total @ B @ A @ A2 ) ) ).

% right_totalI
thf(fact_162_left__total__eq,axiom,
    ! [A: $tType] :
      ( left_total @ A @ A
      @ ^ [Y4: A,Z2: A] : Y4 = Z2 ) ).

% left_total_eq
thf(fact_163_left__total__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( left_total @ A @ B )
      = ( ^ [R5: A > B > $o] :
          ! [X3: A] :
          ? [X6: B] : ( R5 @ X3 @ X6 ) ) ) ).

% left_total_def
thf(fact_164_right__total__eq,axiom,
    ! [A: $tType] :
      ( right_total @ A @ A
      @ ^ [Y4: A,Z2: A] : Y4 = Z2 ) ).

% right_total_eq
thf(fact_165_right__total__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( right_total @ A @ B )
      = ( ^ [R5: A > B > $o] :
          ! [Y3: B] :
          ? [X3: A] : ( R5 @ X3 @ Y3 ) ) ) ).

% right_total_def
thf(fact_166_bi__total__alt__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( bi_total @ A @ B )
      = ( ^ [A6: A > B > $o] :
            ( ( left_total @ A @ B @ A6 )
            & ( right_total @ A @ B @ A6 ) ) ) ) ).

% bi_total_alt_def
thf(fact_167_bi__totalI,axiom,
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( left_total @ A @ B @ R )
     => ( ( right_total @ A @ B @ R )
       => ( bi_total @ A @ B @ R ) ) ) ).

% bi_totalI
thf(fact_168_left__total__OO,axiom,
    ! [A: $tType,C: $tType,B: $tType,R: A > B > $o,S2: B > C > $o] :
      ( ( left_total @ A @ B @ R )
     => ( ( left_total @ B @ C @ S2 )
       => ( left_total @ A @ C @ ( relcompp @ A @ B @ C @ R @ S2 ) ) ) ) ).

% left_total_OO
thf(fact_169_right__total__OO,axiom,
    ! [A: $tType,C: $tType,B: $tType,A2: A > B > $o,B2: B > C > $o] :
      ( ( right_total @ A @ B @ A2 )
     => ( ( right_total @ B @ C @ B2 )
       => ( right_total @ A @ C @ ( relcompp @ A @ B @ C @ A2 @ B2 ) ) ) ) ).

% right_total_OO
thf(fact_170_pcr__Domainp__total,axiom,
    ! [A: $tType,B: $tType,C: $tType,B2: A > B > $o,A2: C > A > $o,P: C > $o] :
      ( ( left_total @ A @ B @ B2 )
     => ( ( ( domainp @ C @ A @ A2 )
          = P )
       => ( ( domainp @ C @ B @ ( relcompp @ C @ A @ B @ A2 @ B2 ) )
          = P ) ) ) ).

% pcr_Domainp_total
thf(fact_171_pcr__Domainp__par__left__total,axiom,
    ! [A: $tType,B: $tType,C: $tType,B2: A > B > $o,P: A > $o,A2: C > A > $o,P2: C > $o] :
      ( ( ( domainp @ A @ B @ B2 )
        = P )
     => ( ( left_total @ C @ A @ A2 )
       => ( ( bNF_rel_fun @ C @ A @ $o @ $o @ A2
            @ ^ [Y4: $o,Z2: $o] : Y4 = Z2
            @ P2
            @ P )
         => ( ( domainp @ C @ B @ ( relcompp @ C @ A @ B @ A2 @ B2 ) )
            = P2 ) ) ) ) ).

% pcr_Domainp_par_left_total
thf(fact_172_transfer__forall__transfer_I3_J,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( right_total @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2 @ (=>) ) @ (=>) @ ( transfer_forall @ A ) @ ( transfer_forall @ B ) ) ) ).

% transfer_forall_transfer(3)
thf(fact_173_transfer__forall__transfer_I2_J,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( right_total @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o
        @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
          @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 )
        @ (=>)
        @ ( transfer_forall @ A )
        @ ( transfer_forall @ B ) ) ) ).

% transfer_forall_transfer(2)
thf(fact_174_right__total__parametric,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( bi_total @ A @ B @ A2 )
     => ( ( bi_total @ C @ D @ B2 )
       => ( bNF_rel_fun @ ( A > C > $o ) @ ( B > D > $o ) @ $o @ $o
          @ ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ A2
            @ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
              @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
          @ ^ [Y4: $o,Z2: $o] : Y4 = Z2
          @ ( right_total @ A @ C )
          @ ( right_total @ B @ D ) ) ) ) ).

% right_total_parametric
thf(fact_175_Domainp__forall__transfer,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( right_total @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o
        @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
          @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 )
        @ ^ [Y4: $o,Z2: $o] : Y4 = Z2
        @ ( transfer_bforall @ A @ ( domainp @ A @ B @ A2 ) )
        @ ( transfer_forall @ B ) ) ) ).

% Domainp_forall_transfer
thf(fact_176_nchotomy__relcomppE,axiom,
    ! [C: $tType,B: $tType,A: $tType,D: $tType,F: B > A,R4: C > A > $o,S: A > D > $o,A4: C,C3: D] :
      ( ! [Y2: A] :
        ? [X7: B] :
          ( Y2
          = ( F @ X7 ) )
     => ( ( relcompp @ C @ A @ D @ R4 @ S @ A4 @ C3 )
       => ~ ! [B3: B] :
              ( ( R4 @ A4 @ ( F @ B3 ) )
             => ~ ( S @ ( F @ B3 ) @ C3 ) ) ) ) ).

% nchotomy_relcomppE
thf(fact_177_pos__fun__distr,axiom,
    ! [E: $tType,C: $tType,A: $tType,B: $tType,D: $tType,F3: $tType,R: A > E > $o,S2: B > F3 > $o,R8: E > C > $o,S6: F3 > D > $o] : ( ord_less_eq @ ( ( A > B ) > ( C > D ) > $o ) @ ( relcompp @ ( A > B ) @ ( E > F3 ) @ ( C > D ) @ ( bNF_rel_fun @ A @ E @ B @ F3 @ R @ S2 ) @ ( bNF_rel_fun @ E @ C @ F3 @ D @ R8 @ S6 ) ) @ ( bNF_rel_fun @ A @ C @ B @ D @ ( relcompp @ A @ E @ C @ R @ R8 ) @ ( relcompp @ B @ F3 @ D @ S2 @ S6 ) ) ) ).

% pos_fun_distr
thf(fact_178_add__le__cancel__left,axiom,
    ! [A: $tType] :
      ( ( ordere236663937imp_le @ A )
     => ! [C3: A,A4: A,B4: A] :
          ( ( ord_less_eq @ A @ ( plus_plus @ A @ C3 @ A4 ) @ ( plus_plus @ A @ C3 @ B4 ) )
          = ( ord_less_eq @ A @ A4 @ B4 ) ) ) ).

% add_le_cancel_left
thf(fact_179_add__le__cancel__right,axiom,
    ! [A: $tType] :
      ( ( ordere236663937imp_le @ A )
     => ! [A4: A,C3: A,B4: A] :
          ( ( ord_less_eq @ A @ ( plus_plus @ A @ A4 @ C3 ) @ ( plus_plus @ A @ B4 @ C3 ) )
          = ( ord_less_eq @ A @ A4 @ B4 ) ) ) ).

% add_le_cancel_right
thf(fact_180_reflp__eq,axiom,
    ! [A: $tType] :
      ( ( reflp @ A )
      = ( ord_less_eq @ ( A > A > $o )
        @ ^ [Y4: A,Z2: A] : Y4 = Z2 ) ) ).

% reflp_eq
thf(fact_181_reflp__ge__eq,axiom,
    ! [A: $tType,R: A > A > $o] :
      ( ( reflp @ A @ R )
     => ( ord_less_eq @ ( A > A > $o )
        @ ^ [Y4: A,Z2: A] : Y4 = Z2
        @ R ) ) ).

% reflp_ge_eq
thf(fact_182_leq__OOI,axiom,
    ! [A: $tType,R: A > A > $o] :
      ( ( R
        = ( ^ [Y4: A,Z2: A] : Y4 = Z2 ) )
     => ( ord_less_eq @ ( A > A > $o ) @ R @ ( relcompp @ A @ A @ A @ R @ R ) ) ) ).

% leq_OOI
thf(fact_183_relcompp__mono,axiom,
    ! [A: $tType,C: $tType,B: $tType,R9: A > B > $o,R4: A > B > $o,S7: B > C > $o,S: B > C > $o] :
      ( ( ord_less_eq @ ( A > B > $o ) @ R9 @ R4 )
     => ( ( ord_less_eq @ ( B > C > $o ) @ S7 @ S )
       => ( ord_less_eq @ ( A > C > $o ) @ ( relcompp @ A @ B @ C @ R9 @ S7 ) @ ( relcompp @ A @ B @ C @ R4 @ S ) ) ) ) ).

% relcompp_mono
thf(fact_184_predicate2D__conj,axiom,
    ! [A: $tType,B: $tType,P: A > B > $o,Q: A > B > $o,R: $o,X: A,Y: B] :
      ( ( ( ord_less_eq @ ( A > B > $o ) @ P @ Q )
        & R )
     => ( R
        & ( ( P @ X @ Y )
         => ( Q @ X @ Y ) ) ) ) ).

% predicate2D_conj
thf(fact_185_refl__ge__eq,axiom,
    ! [A: $tType,R: A > A > $o] :
      ( ! [X2: A] : ( R @ X2 @ X2 )
     => ( ord_less_eq @ ( A > A > $o )
        @ ^ [Y4: A,Z2: A] : Y4 = Z2
        @ R ) ) ).

% refl_ge_eq
thf(fact_186_ge__eq__refl,axiom,
    ! [A: $tType,R: A > A > $o,X: A] :
      ( ( ord_less_eq @ ( A > A > $o )
        @ ^ [Y4: A,Z2: A] : Y4 = Z2
        @ R )
     => ( R @ X @ X ) ) ).

% ge_eq_refl
thf(fact_187_add__mono__thms__linordered__semiring_I3_J,axiom,
    ! [A: $tType] :
      ( ( ordere779506340up_add @ A )
     => ! [I: A,J: A,K: A,L: A] :
          ( ( ( ord_less_eq @ A @ I @ J )
            & ( K = L ) )
         => ( ord_less_eq @ A @ ( plus_plus @ A @ I @ K ) @ ( plus_plus @ A @ J @ L ) ) ) ) ).

% add_mono_thms_linordered_semiring(3)
thf(fact_188_add__mono__thms__linordered__semiring_I2_J,axiom,
    ! [A: $tType] :
      ( ( ordere779506340up_add @ A )
     => ! [I: A,J: A,K: A,L: A] :
          ( ( ( I = J )
            & ( ord_less_eq @ A @ K @ L ) )
         => ( ord_less_eq @ A @ ( plus_plus @ A @ I @ K ) @ ( plus_plus @ A @ J @ L ) ) ) ) ).

% add_mono_thms_linordered_semiring(2)
thf(fact_189_add__mono__thms__linordered__semiring_I1_J,axiom,
    ! [A: $tType] :
      ( ( ordere779506340up_add @ A )
     => ! [I: A,J: A,K: A,L: A] :
          ( ( ( ord_less_eq @ A @ I @ J )
            & ( ord_less_eq @ A @ K @ L ) )
         => ( ord_less_eq @ A @ ( plus_plus @ A @ I @ K ) @ ( plus_plus @ A @ J @ L ) ) ) ) ).

% add_mono_thms_linordered_semiring(1)
thf(fact_190_add__mono,axiom,
    ! [A: $tType] :
      ( ( ordere779506340up_add @ A )
     => ! [A4: A,B4: A,C3: A,D2: A] :
          ( ( ord_less_eq @ A @ A4 @ B4 )
         => ( ( ord_less_eq @ A @ C3 @ D2 )
           => ( ord_less_eq @ A @ ( plus_plus @ A @ A4 @ C3 ) @ ( plus_plus @ A @ B4 @ D2 ) ) ) ) ) ).

% add_mono
thf(fact_191_add__left__mono,axiom,
    ! [A: $tType] :
      ( ( ordere779506340up_add @ A )
     => ! [A4: A,B4: A,C3: A] :
          ( ( ord_less_eq @ A @ A4 @ B4 )
         => ( ord_less_eq @ A @ ( plus_plus @ A @ C3 @ A4 ) @ ( plus_plus @ A @ C3 @ B4 ) ) ) ) ).

% add_left_mono
thf(fact_192_less__eqE,axiom,
    ! [A: $tType] :
      ( ( canoni770627133id_add @ A )
     => ! [A4: A,B4: A] :
          ( ( ord_less_eq @ A @ A4 @ B4 )
         => ~ ! [C4: A] :
                ( B4
               != ( plus_plus @ A @ A4 @ C4 ) ) ) ) ).

% less_eqE
thf(fact_193_add__right__mono,axiom,
    ! [A: $tType] :
      ( ( ordere779506340up_add @ A )
     => ! [A4: A,B4: A,C3: A] :
          ( ( ord_less_eq @ A @ A4 @ B4 )
         => ( ord_less_eq @ A @ ( plus_plus @ A @ A4 @ C3 ) @ ( plus_plus @ A @ B4 @ C3 ) ) ) ) ).

% add_right_mono
thf(fact_194_le__iff__add,axiom,
    ! [A: $tType] :
      ( ( canoni770627133id_add @ A )
     => ( ( ord_less_eq @ A )
        = ( ^ [A5: A,B5: A] :
            ? [C5: A] :
              ( B5
              = ( plus_plus @ A @ A5 @ C5 ) ) ) ) ) ).

% le_iff_add
thf(fact_195_add__le__imp__le__left,axiom,
    ! [A: $tType] :
      ( ( ordere236663937imp_le @ A )
     => ! [C3: A,A4: A,B4: A] :
          ( ( ord_less_eq @ A @ ( plus_plus @ A @ C3 @ A4 ) @ ( plus_plus @ A @ C3 @ B4 ) )
         => ( ord_less_eq @ A @ A4 @ B4 ) ) ) ).

% add_le_imp_le_left
thf(fact_196_add__le__imp__le__right,axiom,
    ! [A: $tType] :
      ( ( ordere236663937imp_le @ A )
     => ! [A4: A,C3: A,B4: A] :
          ( ( ord_less_eq @ A @ ( plus_plus @ A @ A4 @ C3 ) @ ( plus_plus @ A @ B4 @ C3 ) )
         => ( ord_less_eq @ A @ A4 @ B4 ) ) ) ).

% add_le_imp_le_right
thf(fact_197_fun_Orel__mono,axiom,
    ! [D: $tType,B: $tType,A: $tType,R: A > B > $o,Ra: A > B > $o] :
      ( ( ord_less_eq @ ( A > B > $o ) @ R @ Ra )
     => ( ord_less_eq @ ( ( D > A ) > ( D > B ) > $o )
        @ ( bNF_rel_fun @ D @ D @ A @ B
          @ ^ [Y4: D,Z2: D] : Y4 = Z2
          @ R )
        @ ( bNF_rel_fun @ D @ D @ A @ B
          @ ^ [Y4: D,Z2: D] : Y4 = Z2
          @ Ra ) ) ) ).

% fun.rel_mono
thf(fact_198_fun__mono,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,C2: A > B > $o,A2: A > B > $o,B2: C > D > $o,D3: C > D > $o] :
      ( ( ord_less_eq @ ( A > B > $o ) @ C2 @ A2 )
     => ( ( ord_less_eq @ ( C > D > $o ) @ B2 @ D3 )
       => ( ord_less_eq @ ( ( A > C ) > ( B > D ) > $o ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) @ ( bNF_rel_fun @ A @ B @ C @ D @ C2 @ D3 ) ) ) ) ).

% fun_mono
thf(fact_199_lfp_Omonotone__if__bot,axiom,
    ! [B: $tType,A: $tType] :
      ( ( comple187826305attice @ A )
     => ! [Bound: A,G: A > B,Bot: B,F: A > B,Ord: B > B > $o] :
          ( ! [X2: A] :
              ( ( ( ord_less_eq @ A @ X2 @ Bound )
               => ( ( G @ X2 )
                  = Bot ) )
              & ( ~ ( ord_less_eq @ A @ X2 @ Bound )
               => ( ( G @ X2 )
                  = ( F @ X2 ) ) ) )
         => ( ! [X2: A,Y2: A] :
                ( ( ord_less_eq @ A @ X2 @ Y2 )
               => ( ~ ( ord_less_eq @ A @ X2 @ Bound )
                 => ( Ord @ ( F @ X2 ) @ ( F @ Y2 ) ) ) )
           => ( ! [X2: A] :
                  ( ~ ( ord_less_eq @ A @ X2 @ Bound )
                 => ( Ord @ Bot @ ( F @ X2 ) ) )
             => ( ( Ord @ Bot @ Bot )
               => ( comple1396247847notone @ A @ B @ ( ord_less_eq @ A ) @ Ord @ G ) ) ) ) ) ) ).

% lfp.monotone_if_bot
thf(fact_200_mono__transfer,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType] :
      ( ( ( order @ B )
        & ( order @ D )
        & ( order @ C )
        & ( order @ A ) )
     => ! [A2: A > B > $o,B2: C > D > $o] :
          ( ( bi_total @ A @ B @ A2 )
         => ( ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
              @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
                @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 )
              @ ( ord_less_eq @ A )
              @ ( ord_less_eq @ B ) )
           => ( ( bNF_rel_fun @ C @ D @ ( C > $o ) @ ( D > $o ) @ B2
                @ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
                  @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 )
                @ ( ord_less_eq @ C )
                @ ( ord_less_eq @ D ) )
             => ( bNF_rel_fun @ ( A > C ) @ ( B > D ) @ $o @ $o @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 )
                @ ^ [Y4: $o,Z2: $o] : Y4 = Z2
                @ ( order_mono @ A @ C )
                @ ( order_mono @ B @ D ) ) ) ) ) ) ).

% mono_transfer
thf(fact_201_neg__fun__distr1,axiom,
    ! [D: $tType,A: $tType,B: $tType,C: $tType,E: $tType,F3: $tType,R: A > B > $o,R8: B > C > $o,S2: D > F3 > $o,S6: F3 > E > $o] :
      ( ( left_unique @ A @ B @ R )
     => ( ( right_total @ A @ B @ R )
       => ( ( right_unique @ B @ C @ R8 )
         => ( ( left_total @ B @ C @ R8 )
           => ( ord_less_eq @ ( ( A > D ) > ( C > E ) > $o ) @ ( bNF_rel_fun @ A @ C @ D @ E @ ( relcompp @ A @ B @ C @ R @ R8 ) @ ( relcompp @ D @ F3 @ E @ S2 @ S6 ) ) @ ( relcompp @ ( A > D ) @ ( B > F3 ) @ ( C > E ) @ ( bNF_rel_fun @ A @ B @ D @ F3 @ R @ S2 ) @ ( bNF_rel_fun @ B @ C @ F3 @ E @ R8 @ S6 ) ) ) ) ) ) ) ).

% neg_fun_distr1
thf(fact_202_set__plus__mono2,axiom,
    ! [A: $tType] :
      ( ( plus @ A )
     => ! [C2: set @ A,D3: set @ A,E2: set @ A,F5: set @ A] :
          ( ( ord_less_eq @ ( set @ A ) @ C2 @ D3 )
         => ( ( ord_less_eq @ ( set @ A ) @ E2 @ F5 )
           => ( ord_less_eq @ ( set @ A ) @ ( plus_plus @ ( set @ A ) @ C2 @ E2 ) @ ( plus_plus @ ( set @ A ) @ D3 @ F5 ) ) ) ) ) ).

% set_plus_mono2
thf(fact_203_set__plus__mono2__b,axiom,
    ! [A: $tType] :
      ( ( plus @ A )
     => ! [C2: set @ A,D3: set @ A,E2: set @ A,F5: set @ A,X: A] :
          ( ( ord_less_eq @ ( set @ A ) @ C2 @ D3 )
         => ( ( ord_less_eq @ ( set @ A ) @ E2 @ F5 )
           => ( ( member @ A @ X @ ( plus_plus @ ( set @ A ) @ C2 @ E2 ) )
             => ( member @ A @ X @ ( plus_plus @ ( set @ A ) @ D3 @ F5 ) ) ) ) ) ) ).

% set_plus_mono2_b
thf(fact_204_left__uniqueD,axiom,
    ! [B: $tType,A: $tType,A2: A > B > $o,X: A,Z: B,Y: A] :
      ( ( left_unique @ A @ B @ A2 )
     => ( ( A2 @ X @ Z )
       => ( ( A2 @ Y @ Z )
         => ( X = Y ) ) ) ) ).

% left_uniqueD
thf(fact_205_left__uniqueI,axiom,
    ! [B: $tType,A: $tType,A2: A > B > $o] :
      ( ! [X2: A,Y2: A,Z3: B] :
          ( ( A2 @ X2 @ Z3 )
         => ( ( A2 @ Y2 @ Z3 )
           => ( X2 = Y2 ) ) )
     => ( left_unique @ A @ B @ A2 ) ) ).

% left_uniqueI
thf(fact_206_right__uniqueD,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o,X: A,Y: B,Z: B] :
      ( ( right_unique @ A @ B @ A2 )
     => ( ( A2 @ X @ Y )
       => ( ( A2 @ X @ Z )
         => ( Y = Z ) ) ) ) ).

% right_uniqueD
thf(fact_207_right__uniqueI,axiom,
    ! [B: $tType,A: $tType,A2: A > B > $o] :
      ( ! [X2: A,Y2: B,Z3: B] :
          ( ( A2 @ X2 @ Y2 )
         => ( ( A2 @ X2 @ Z3 )
           => ( Y2 = Z3 ) ) )
     => ( right_unique @ A @ B @ A2 ) ) ).

% right_uniqueI
thf(fact_208_left__unique__eq,axiom,
    ! [A: $tType] :
      ( left_unique @ A @ A
      @ ^ [Y4: A,Z2: A] : Y4 = Z2 ) ).

% left_unique_eq
thf(fact_209_left__unique__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( left_unique @ A @ B )
      = ( ^ [R5: A > B > $o] :
          ! [X3: A,Y3: A,Z4: B] :
            ( ( R5 @ X3 @ Z4 )
           => ( ( R5 @ Y3 @ Z4 )
             => ( X3 = Y3 ) ) ) ) ) ).

% left_unique_def
thf(fact_210_right__unique__eq,axiom,
    ! [A: $tType] :
      ( right_unique @ A @ A
      @ ^ [Y4: A,Z2: A] : Y4 = Z2 ) ).

% right_unique_eq
thf(fact_211_right__unique__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( right_unique @ A @ B )
      = ( ^ [R5: A > B > $o] :
          ! [X3: A,Y3: B,Z4: B] :
            ( ( R5 @ X3 @ Y3 )
           => ( ( R5 @ X3 @ Z4 )
             => ( Y3 = Z4 ) ) ) ) ) ).

% right_unique_def
thf(fact_212_left__unique__OO,axiom,
    ! [A: $tType,C: $tType,B: $tType,R: A > B > $o,S2: B > C > $o] :
      ( ( left_unique @ A @ B @ R )
     => ( ( left_unique @ B @ C @ S2 )
       => ( left_unique @ A @ C @ ( relcompp @ A @ B @ C @ R @ S2 ) ) ) ) ).

% left_unique_OO
thf(fact_213_right__unique__OO,axiom,
    ! [A: $tType,C: $tType,B: $tType,A2: A > B > $o,B2: B > C > $o] :
      ( ( right_unique @ A @ B @ A2 )
     => ( ( right_unique @ B @ C @ B2 )
       => ( right_unique @ A @ C @ ( relcompp @ A @ B @ C @ A2 @ B2 ) ) ) ) ).

% right_unique_OO
thf(fact_214_functional__converse__relation,axiom,
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( left_unique @ A @ B @ R )
     => ( ( right_total @ A @ B @ R )
       => ! [Y6: B] :
          ? [X2: A] :
            ( ( R @ X2 @ Y6 )
            & ! [Ya3: A] :
                ( ( R @ Ya3 @ Y6 )
               => ( Ya3 = X2 ) ) ) ) ) ).

% functional_converse_relation
thf(fact_215_functional__relation,axiom,
    ! [A: $tType,B: $tType,R: A > B > $o] :
      ( ( right_unique @ A @ B @ R )
     => ( ( left_total @ A @ B @ R )
       => ! [X7: A] :
          ? [Xa2: B] :
            ( ( R @ X7 @ Xa2 )
            & ! [Y6: B] :
                ( ( R @ X7 @ Y6 )
               => ( Y6 = Xa2 ) ) ) ) ) ).

% functional_relation
thf(fact_216_right__unique__fun,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( right_total @ A @ B @ A2 )
     => ( ( right_unique @ C @ D @ B2 )
       => ( right_unique @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) ) ).

% right_unique_fun
thf(fact_217_left__unique__fun,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( left_total @ A @ B @ A2 )
     => ( ( left_unique @ C @ D @ B2 )
       => ( left_unique @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) ) ).

% left_unique_fun
thf(fact_218_right__total__fun,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( right_unique @ A @ B @ A2 )
     => ( ( right_total @ C @ D @ B2 )
       => ( right_total @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) ) ).

% right_total_fun
thf(fact_219_left__total__fun,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( left_unique @ A @ B @ A2 )
     => ( ( left_total @ C @ D @ B2 )
       => ( left_total @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) ) ).

% left_total_fun
thf(fact_220_right__unique__alt__def2,axiom,
    ! [B: $tType,A: $tType] :
      ( ( right_unique @ A @ B )
      = ( ^ [R5: A > B > $o] :
            ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ R5 @ ( bNF_rel_fun @ A @ B @ $o @ $o @ R5 @ (=>) )
            @ ^ [Y4: A,Z2: A] : Y4 = Z2
            @ ^ [Y4: B,Z2: B] : Y4 = Z2 ) ) ) ).

% right_unique_alt_def2
thf(fact_221_eq__imp__transfer,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( right_unique @ A @ B @ A2 )
     => ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2 @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2 @ (=>) )
        @ ^ [Y4: A,Z2: A] : Y4 = Z2
        @ ^ [Y4: B,Z2: B] : Y4 = Z2 ) ) ).

% eq_imp_transfer
thf(fact_222_neg__fun__distr2,axiom,
    ! [F3: $tType,E: $tType,A: $tType,B: $tType,D: $tType,C: $tType,R8: A > B > $o,S6: C > D > $o,R: E > A > $o,S2: F3 > C > $o] :
      ( ( right_unique @ A @ B @ R8 )
     => ( ( left_total @ A @ B @ R8 )
       => ( ( left_unique @ C @ D @ S6 )
         => ( ( right_total @ C @ D @ S6 )
           => ( ord_less_eq @ ( ( E > F3 ) > ( B > D ) > $o ) @ ( bNF_rel_fun @ E @ B @ F3 @ D @ ( relcompp @ E @ A @ B @ R @ R8 ) @ ( relcompp @ F3 @ C @ D @ S2 @ S6 ) ) @ ( relcompp @ ( E > F3 ) @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ E @ A @ F3 @ C @ R @ S2 ) @ ( bNF_rel_fun @ A @ B @ C @ D @ R8 @ S6 ) ) ) ) ) ) ) ).

% neg_fun_distr2
thf(fact_223_fixp__mono,axiom,
    ! [A: $tType] :
      ( ( comple1141879883l_ccpo @ A )
     => ! [F: A > A,G: A > A] :
          ( ( partial_fun_ord @ A @ A @ A @ ( ord_less_eq @ A ) @ F @ G )
         => ( ( comple1396247847notone @ A @ A @ ( ord_less_eq @ A ) @ ( ord_less_eq @ A ) @ F )
           => ( ( comple1396247847notone @ A @ A @ ( ord_less_eq @ A ) @ ( ord_less_eq @ A ) @ G )
             => ( ord_less_eq @ A @ ( comple939513234o_fixp @ A @ F ) @ ( comple939513234o_fixp @ A @ G ) ) ) ) ) ) ).

% fixp_mono
thf(fact_224_left__unique__parametric,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( bi_unique @ A @ B @ A2 )
     => ( ( bi_total @ A @ B @ A2 )
       => ( ( bi_total @ C @ D @ B2 )
         => ( bNF_rel_fun @ ( A > C > $o ) @ ( B > D > $o ) @ $o @ $o
            @ ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ A2
              @ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
                @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
            @ ^ [Y4: $o,Z2: $o] : Y4 = Z2
            @ ( left_unique @ A @ C )
            @ ( left_unique @ B @ D ) ) ) ) ) ).

% left_unique_parametric
thf(fact_225_bi__uniqueI,axiom,
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( left_unique @ A @ B @ R )
     => ( ( right_unique @ A @ B @ R )
       => ( bi_unique @ A @ B @ R ) ) ) ).

% bi_uniqueI
thf(fact_226_bi__unique__alt__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( bi_unique @ A @ B )
      = ( ^ [A6: A > B > $o] :
            ( ( left_unique @ A @ B @ A6 )
            & ( right_unique @ A @ B @ A6 ) ) ) ) ).

% bi_unique_alt_def
thf(fact_227_bi__unique__OO,axiom,
    ! [A: $tType,C: $tType,B: $tType,A2: A > B > $o,B2: B > C > $o] :
      ( ( bi_unique @ A @ B @ A2 )
     => ( ( bi_unique @ B @ C @ B2 )
       => ( bi_unique @ A @ C @ ( relcompp @ A @ B @ C @ A2 @ B2 ) ) ) ) ).

% bi_unique_OO
thf(fact_228_bi__unique__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( bi_unique @ A @ B )
      = ( ^ [R5: A > B > $o] :
            ( ! [X3: A,Y3: B,Z4: B] :
                ( ( R5 @ X3 @ Y3 )
               => ( ( R5 @ X3 @ Z4 )
                 => ( Y3 = Z4 ) ) )
            & ! [X3: A,Y3: A,Z4: B] :
                ( ( R5 @ X3 @ Z4 )
               => ( ( R5 @ Y3 @ Z4 )
                 => ( X3 = Y3 ) ) ) ) ) ) ).

% bi_unique_def
thf(fact_229_bi__unique__eq,axiom,
    ! [A: $tType] :
      ( bi_unique @ A @ A
      @ ^ [Y4: A,Z2: A] : Y4 = Z2 ) ).

% bi_unique_eq
thf(fact_230_bi__uniqueDr,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o,X: A,Y: B,Z: B] :
      ( ( bi_unique @ A @ B @ A2 )
     => ( ( A2 @ X @ Y )
       => ( ( A2 @ X @ Z )
         => ( Y = Z ) ) ) ) ).

% bi_uniqueDr
thf(fact_231_bi__uniqueDl,axiom,
    ! [B: $tType,A: $tType,A2: A > B > $o,X: A,Y: B,Z: A] :
      ( ( bi_unique @ A @ B @ A2 )
     => ( ( A2 @ X @ Y )
       => ( ( A2 @ Z @ Y )
         => ( X = Z ) ) ) ) ).

% bi_uniqueDl
thf(fact_232_bi__unique__fun,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( bi_total @ A @ B @ A2 )
     => ( ( bi_unique @ C @ D @ B2 )
       => ( bi_unique @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) ) ).

% bi_unique_fun
thf(fact_233_bi__unique__alt__def2,axiom,
    ! [B: $tType,A: $tType] :
      ( ( bi_unique @ A @ B )
      = ( ^ [R5: A > B > $o] :
            ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ R5
            @ ( bNF_rel_fun @ A @ B @ $o @ $o @ R5
              @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 )
            @ ^ [Y4: A,Z2: A] : Y4 = Z2
            @ ^ [Y4: B,Z2: B] : Y4 = Z2 ) ) ) ).

% bi_unique_alt_def2
thf(fact_234_eq__transfer,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( bi_unique @ A @ B @ A2 )
     => ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
        @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
          @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 )
        @ ^ [Y4: A,Z2: A] : Y4 = Z2
        @ ^ [Y4: B,Z2: B] : Y4 = Z2 ) ) ).

% eq_transfer
thf(fact_235_bi__total__fun,axiom,
    ! [A: $tType,B: $tType,D: $tType,C: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( bi_unique @ A @ B @ A2 )
     => ( ( bi_total @ C @ D @ B2 )
       => ( bi_total @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) ) ).

% bi_total_fun
thf(fact_236_right__unique__transfer,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( right_total @ A @ B @ A2 )
     => ( ( right_total @ C @ D @ B2 )
       => ( ( bi_unique @ C @ D @ B2 )
         => ( bNF_rel_fun @ ( A > C > $o ) @ ( B > D > $o ) @ $o @ $o
            @ ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ A2
              @ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
                @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
            @ (=>)
            @ ( right_unique @ A @ C )
            @ ( right_unique @ B @ D ) ) ) ) ) ).

% right_unique_transfer
thf(fact_237_left__unique__transfer,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( right_total @ A @ B @ A2 )
     => ( ( right_total @ C @ D @ B2 )
       => ( ( bi_unique @ A @ B @ A2 )
         => ( bNF_rel_fun @ ( A > C > $o ) @ ( B > D > $o ) @ $o @ $o
            @ ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ A2
              @ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
                @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
            @ (=>)
            @ ( left_unique @ A @ C )
            @ ( left_unique @ B @ D ) ) ) ) ) ).

% left_unique_transfer
thf(fact_238_right__unique__parametric,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( bi_total @ A @ B @ A2 )
     => ( ( bi_unique @ C @ D @ B2 )
       => ( ( bi_total @ C @ D @ B2 )
         => ( bNF_rel_fun @ ( A > C > $o ) @ ( B > D > $o ) @ $o @ $o
            @ ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ A2
              @ ( bNF_rel_fun @ C @ D @ $o @ $o @ B2
                @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
            @ ^ [Y4: $o,Z2: $o] : Y4 = Z2
            @ ( right_unique @ A @ C )
            @ ( right_unique @ B @ D ) ) ) ) ) ).

% right_unique_parametric
thf(fact_239_fixp__lowerbound,axiom,
    ! [A: $tType] :
      ( ( comple1141879883l_ccpo @ A )
     => ! [F: A > A,Z: A] :
          ( ( comple1396247847notone @ A @ A @ ( ord_less_eq @ A ) @ ( ord_less_eq @ A ) @ F )
         => ( ( ord_less_eq @ A @ ( F @ Z ) @ Z )
           => ( ord_less_eq @ A @ ( comple939513234o_fixp @ A @ F ) @ Z ) ) ) ) ).

% fixp_lowerbound
thf(fact_240_fixp__unfold,axiom,
    ! [A: $tType] :
      ( ( comple1141879883l_ccpo @ A )
     => ! [F: A > A] :
          ( ( comple1396247847notone @ A @ A @ ( ord_less_eq @ A ) @ ( ord_less_eq @ A ) @ F )
         => ( ( comple939513234o_fixp @ A @ F )
            = ( F @ ( comple939513234o_fixp @ A @ F ) ) ) ) ) ).

% fixp_unfold
thf(fact_241_monotone__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( comple1396247847notone @ A @ B )
      = ( ^ [Orda: A > A > $o,Ordb: B > B > $o,F2: A > B] :
          ! [X3: A,Y3: A] :
            ( ( Orda @ X3 @ Y3 )
           => ( Ordb @ ( F2 @ X3 ) @ ( F2 @ Y3 ) ) ) ) ) ).

% monotone_def
thf(fact_242_monotoneI,axiom,
    ! [B: $tType,A: $tType,Orda2: A > A > $o,Ordb2: B > B > $o,F: A > B] :
      ( ! [X2: A,Y2: A] :
          ( ( Orda2 @ X2 @ Y2 )
         => ( Ordb2 @ ( F @ X2 ) @ ( F @ Y2 ) ) )
     => ( comple1396247847notone @ A @ B @ Orda2 @ Ordb2 @ F ) ) ).

% monotoneI
thf(fact_243_monotoneD,axiom,
    ! [B: $tType,A: $tType,Orda2: A > A > $o,Ordb2: B > B > $o,F: A > B,X: A,Y: A] :
      ( ( comple1396247847notone @ A @ B @ Orda2 @ Ordb2 @ F )
     => ( ( Orda2 @ X @ Y )
       => ( Ordb2 @ ( F @ X ) @ ( F @ Y ) ) ) ) ).

% monotoneD
thf(fact_244_fun__upd__transfer,axiom,
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A2: A > B > $o,B2: C > D > $o] :
      ( ( bi_unique @ A @ B @ A2 )
     => ( bNF_rel_fun @ ( A > C ) @ ( B > D ) @ ( A > C > A > C ) @ ( B > D > B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) @ ( bNF_rel_fun @ A @ B @ ( C > A > C ) @ ( D > B > D ) @ A2 @ ( bNF_rel_fun @ C @ D @ ( A > C ) @ ( B > D ) @ B2 @ ( bNF_rel_fun @ A @ B @ C @ D @ A2 @ B2 ) ) ) @ ( fun_upd @ A @ C ) @ ( fun_upd @ B @ D ) ) ) ).

% fun_upd_transfer
thf(fact_245_rtranclp__parametric,axiom,
    ! [A: $tType,B: $tType,A2: A > B > $o] :
      ( ( bi_unique @ A @ B @ A2 )
     => ( ( bi_total @ A @ B @ A2 )
       => ( bNF_rel_fun @ ( A > A > $o ) @ ( B > B > $o ) @ ( A > A > $o ) @ ( B > B > $o )
          @ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
            @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
              @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
          @ ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A2
            @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A2
              @ ^ [Y4: $o,Z2: $o] : Y4 = Z2 ) )
          @ ( transitive_rtranclp @ A )
          @ ( transitive_rtranclp @ B ) ) ) ) ).

% rtranclp_parametric
thf(fact_246_fun__upd__apply,axiom,
    ! [A: $tType,B: $tType] :
      ( ( fun_upd @ B @ A )
      = ( ^ [F2: B > A,X3: B,Y3: A,Z4: B] : ( if @ A @ ( Z4 = X3 ) @ Y3 @ ( F2 @ Z4 ) ) ) ) ).

% fun_upd_apply
thf(fact_247_fun__upd__triv,axiom,
    ! [B: $tType,A: $tType,F: A > B,X: A] :
      ( ( fun_upd @ A @ B @ F @ X @ ( F @ X ) )
      = F ) ).

% fun_upd_triv
thf(fact_248_fun__upd__upd,axiom,
    ! [A: $tType,B: $tType,F: A > B,X: A,Y: B,Z: B] :
      ( ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ F @ X @ Y ) @ X @ Z )
      = ( fun_upd @ A @ B @ F @ X @ Z ) ) ).

% fun_upd_upd
thf(fact_249_fun__upd__idem__iff,axiom,
    ! [A: $tType,B: $tType,F: A > B,X: A,Y: B] :
      ( ( ( fun_upd @ A @ B @ F @ X @ Y )
        = F )
      = ( ( F @ X )
        = Y ) ) ).

% fun_upd_idem_iff
thf(fact_250_fun__upd__twist,axiom,
    ! [A: $tType,B: $tType,A4: A,C3: A,M3: A > B,B4: B,D2: B] :
      ( ( A4 != C3 )
     => ( ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ M3 @ A4 @ B4 ) @ C3 @ D2 )
        = ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ M3 @ C3 @ D2 ) @ A4 @ B4 ) ) ) ).

% fun_upd_twist
thf(fact_251_fun__upd__other,axiom,
    ! [B: $tType,A: $tType,Z: A,X: A,F: A > B,Y: B] :
      ( ( Z != X )
     => ( ( fun_upd @ A @ B @ F @ X @ Y @ Z )
        = ( F @ Z ) ) ) ).

% fun_upd_other
thf(fact_252_fun__upd__same,axiom,
    ! [B: $tType,A: $tType,F: B > A,X: B,Y: A] :
      ( ( fun_upd @ B @ A @ F @ X @ Y @ X )
      = Y ) ).

% fun_upd_same
thf(fact_253_fun__upd__idem,axiom,
    ! [A: $tType,B: $tType,F: B > A,X: B,Y: A] :
      ( ( ( F @ X )
        = Y )
     => ( ( fun_upd @ B @ A @ F @ X @ Y )
        = F ) ) ).

% fun_upd_idem
thf(fact_254_fun__upd__eqD,axiom,
    ! [A: $tType,B: $tType,F: A > B,X: A,Y: B,G: A > B,Z: B] :
      ( ( ( fun_upd @ A @ B @ F @ X @ Y )
        = ( fun_upd @ A @ B @ G @ X @ Z ) )
     => ( Y = Z ) ) ).

% fun_upd_eqD
thf(fact_255_fun__upd__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( fun_upd @ A @ B )
      = ( ^ [F2: A > B,A5: A,B5: B,X3: A] : ( if @ B @ ( X3 = A5 ) @ B5 @ ( F2 @ X3 ) ) ) ) ).

% fun_upd_def

% Type constructors (24)
thf(tcon_Multiset_Omultiset___Orderings_Opreorder,axiom,
    ! [A7: $tType] :
      ( ( preorder @ A7 )
     => ( preorder @ ( multiset @ A7 ) ) ) ).

thf(tcon_HOL_Obool___Orderings_Opreorder_1,axiom,
    preorder @ $o ).

thf(tcon_Set_Oset___Orderings_Opreorder_2,axiom,
    ! [A7: $tType] : ( preorder @ ( set @ A7 ) ) ).

thf(tcon_fun___Orderings_Opreorder_3,axiom,
    ! [A7: $tType,A8: $tType] :
      ( ( preorder @ A8 )
     => ( preorder @ ( A7 > A8 ) ) ) ).

thf(tcon_fun___Complete__Lattices_Ocomplete__lattice,axiom,
    ! [A7: $tType,A8: $tType] :
      ( ( comple187826305attice @ A8 )
     => ( comple187826305attice @ ( A7 > A8 ) ) ) ).

thf(tcon_fun___Complete__Partial__Order_Occpo,axiom,
    ! [A7: $tType,A8: $tType] :
      ( ( comple187826305attice @ A8 )
     => ( comple1141879883l_ccpo @ ( A7 > A8 ) ) ) ).

thf(tcon_fun___Orderings_Oorder,axiom,
    ! [A7: $tType,A8: $tType] :
      ( ( order @ A8 )
     => ( order @ ( A7 > A8 ) ) ) ).

thf(tcon_Set_Oset___Complete__Lattices_Ocomplete__lattice_4,axiom,
    ! [A7: $tType] : ( comple187826305attice @ ( set @ A7 ) ) ).

thf(tcon_Set_Oset___Complete__Partial__Order_Occpo_5,axiom,
    ! [A7: $tType] : ( comple1141879883l_ccpo @ ( set @ A7 ) ) ).

thf(tcon_Set_Oset___Groups_Oab__semigroup__add,axiom,
    ! [A7: $tType] :
      ( ( ab_semigroup_add @ A7 )
     => ( ab_semigroup_add @ ( set @ A7 ) ) ) ).

thf(tcon_Set_Oset___Groups_Ocomm__monoid__add,axiom,
    ! [A7: $tType] :
      ( ( comm_monoid_add @ A7 )
     => ( comm_monoid_add @ ( set @ A7 ) ) ) ).

thf(tcon_Set_Oset___Groups_Osemigroup__add,axiom,
    ! [A7: $tType] :
      ( ( semigroup_add @ A7 )
     => ( semigroup_add @ ( set @ A7 ) ) ) ).

thf(tcon_Set_Oset___Orderings_Oorder_6,axiom,
    ! [A7: $tType] : ( order @ ( set @ A7 ) ) ).

thf(tcon_Set_Oset___Groups_Oplus,axiom,
    ! [A7: $tType] :
      ( ( plus @ A7 )
     => ( plus @ ( set @ A7 ) ) ) ).

thf(tcon_HOL_Obool___Complete__Lattices_Ocomplete__lattice_7,axiom,
    comple187826305attice @ $o ).

thf(tcon_HOL_Obool___Complete__Partial__Order_Occpo_8,axiom,
    comple1141879883l_ccpo @ $o ).

thf(tcon_HOL_Obool___Orderings_Oorder_9,axiom,
    order @ $o ).

thf(tcon_Multiset_Omultiset___Groups_Oordered__ab__semigroup__add,axiom,
    ! [A7: $tType] :
      ( ( preorder @ A7 )
     => ( ordere779506340up_add @ ( multiset @ A7 ) ) ) ).

thf(tcon_Multiset_Omultiset___Groups_Ocancel__semigroup__add,axiom,
    ! [A7: $tType] : ( cancel_semigroup_add @ ( multiset @ A7 ) ) ).

thf(tcon_Multiset_Omultiset___Groups_Oab__semigroup__add_10,axiom,
    ! [A7: $tType] : ( ab_semigroup_add @ ( multiset @ A7 ) ) ).

thf(tcon_Multiset_Omultiset___Groups_Ocomm__monoid__add_11,axiom,
    ! [A7: $tType] : ( comm_monoid_add @ ( multiset @ A7 ) ) ).

thf(tcon_Multiset_Omultiset___Groups_Osemigroup__add_12,axiom,
    ! [A7: $tType] : ( semigroup_add @ ( multiset @ A7 ) ) ).

thf(tcon_Multiset_Omultiset___Orderings_Oorder_13,axiom,
    ! [A7: $tType] :
      ( ( preorder @ A7 )
     => ( order @ ( multiset @ A7 ) ) ) ).

thf(tcon_Multiset_Omultiset___Groups_Oplus_14,axiom,
    ! [A7: $tType] : ( plus @ ( multiset @ A7 ) ) ).

% Helper facts (3)
thf(help_If_3_1_T,axiom,
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) ).

thf(help_If_2_1_T,axiom,
    ! [A: $tType,X: A,Y: A] :
      ( ( if @ A @ $false @ X @ Y )
      = Y ) ).

thf(help_If_1_1_T,axiom,
    ! [A: $tType,X: A,Y: A] :
      ( ( if @ A @ $true @ X @ Y )
      = X ) ).

% Conjectures (1)
thf(conj_0,conjecture,
    finite100568337ommute @ a @ c @ f1 ).

%------------------------------------------------------------------------------